speedup map

map now uses a dictionary as backing structures, this enables us to safely use x[y] for existence checks rather then in, and enumerable without needing slow hasOwnProperty checks. Also prefer super properties existing directly on the prototype.
actually cache normalize on the container, so it gets all resolvers.
introduce Ember._Cache still private API
utilize Cache object
cache firstSegment