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 think it'd be nice to create an example that demonstrates the regression you were finding. So two ItemView classes, a parent class and subclass. This is a really great example that will help us going forward. I think we just refactored these methods and didn't have the case to catch us.