[Bugfix Beta] Improve Ember.Map

* [Perf + ES6] no longer clone array before enumeration (dramatically reduce allocations)
* [Perf] Don’t rebind the callback of forEach if not needed
* [Perf + ES6] no longer allow Map#length to be bindable
* [Perf] don’t double guid keys, as they are passed from map to ordered set (add/remove)
* [ES6] deprecate Map#remove in-favor of the es6 Map#delete
* [ES6] error if callback is not a function
* [ES6] Map#set should return the map. This enables chaining map.`map.set(‘foo’,1).set(‘bar’,3);` etc
* [ES6] remove length in-favor of size.
* [ES6] throw if constructor is invoked without new
* [ES6] Make inheritance work correctly
Ensure only failing deprecations are logged by test helpers.
Add deprecations for Map.prototype.remove and Map.prototype.length.
Merge pull request #9 from rwjblue/deprecations-for-map

Deprecations for map
prefer new Map() syntax
short circuit has/forEach/get if map is empty
Merge pull request #5616 from stefanpenner/map

[Bugfix Beta] Improve Ember.Map