3.0 remove deep merging from mergeVars

As per #2914. This removes deep merging from the MergeVariablesTrait. Instead only the top level keys are merged for associative properties. 
List style properties are still simply merged.

Hopefully, this new behavior makes merged properties simpler to understand with more predictable results.