Alter Marionette.normalizeUIKeys to return a new/non-mutated hash

Instead of mutating the original argument hash, create and return a new cloned hash
Addresses issue #1728
I am fairly confident that we should not need to change anything in this file given the above fix