fix merging of escaped strings by allowing a parameter object to
optionally set it's initial data with a simple assignment instead
of the normal value wrapping merge
diff --git a/reclass/datatypes/parameters.py b/reclass/datatypes/parameters.py
index e7199ab..718f41f 100644
--- a/reclass/datatypes/parameters.py
+++ b/reclass/datatypes/parameters.py
@@ -40,7 +40,7 @@
     functionality and does not try to be a really mapping object.
     '''
 
-    def __init__(self, mapping, settings, uri):
+    def __init__(self, mapping, settings, uri, merge_initialise = True):
         self._settings = settings
         self._base = {}
         self._uri = uri
@@ -51,10 +51,13 @@
         self._needs_all_envs = False
         self._keep_overrides = False
         if mapping is not None:
-            # we initialise by merging
-            self._keep_overrides = True
-            self.merge(mapping)
-            self._keep_overrides = False
+            if merge_initialise:
+                # we initialise by merging
+                self._keep_overrides = True
+                self.merge(mapping)
+                self._keep_overrides = False
+            else:
+                self._base = mapping
 
     #delimiter = property(lambda self: self._delimiter)
 
diff --git a/reclass/values/valuelist.py b/reclass/values/valuelist.py
index 6201564..99fbd23 100644
--- a/reclass/values/valuelist.py
+++ b/reclass/values/valuelist.py
@@ -107,8 +107,8 @@
                 deepCopied = False
             else:
                 if isinstance(output, dict) and isinstance(new, dict):
-                    p1 = Parameters(output, self._settings, None)
-                    p2 = Parameters(new, self._settings, None)
+                    p1 = Parameters(output, self._settings, None, merge_initialise = False)
+                    p2 = Parameters(new, self._settings, None, merge_initialise = False)
                     p1.merge(p2)
                     output = p1.as_dict()
                     continue