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
`_eventsHash` and `_uiHash` can be instance vars.