Do not use constructors in default arguments

Something like __init__(self, classes=Classes(), …) causes Python to
create a single Classes instance that gets used as default argument
subsequently. If something changes the variable then referenced by
classes, subsequent calls to the default constructor will cause the
changed object to be referenced.

Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/reclass/datatypes/entity.py b/reclass/datatypes/entity.py
index 04e2375..37917d9 100644
--- a/reclass/datatypes/entity.py
+++ b/reclass/datatypes/entity.py
@@ -12,10 +12,13 @@
 
 class Entity(object):
 
-    def __init__(self, classes=Classes(), applications=Applications(),
-                 parameters=Parameters(), name=None):
+    def __init__(self, classes=None, applications=None, parameters=None,
+                 name=None):
+        if applications is None: applications = Applications()
         self._applications = applications
+        if classes is None: classes = Classes()
         self._classes = classes
+        if parameters is None: parameters = Parameters()
         self._parameters = parameters
         self._name = name