[DOC release] Array mixin cleanup
[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
[Bugfix Beta] detect if we can use toString to analyze functions

In some modes platforms like PS3 + FireFox OS will discard these sources to save on memory. Instead we will opt into this perf only after we detect the ability.
Merge pull request #5575 from krisselden/fix-finish-chains

[BUGFIX release] Fix finishChains
prefer new Map() syntax
short circuit has/forEach/get if map is empty
Adding dir and lang to allow for easier bidirectional support
Merge pull request #5634 from chadhietala/add-dir-lang

Adding dir & lang attribute bindings to allow for easier bidirectional support
Merge pull request #1 from emberjs/master

Update to latest emberjs master
Add note to CHANGELOG about new didInsertElement functionality

#5631
Update documentation of Ember.View didInsertElement hook, and add test to validate this behaviour.
Remove repeated "esnext" jshint rule
Merge pull request #5640 from cibernox/remove_repeated_rules_in_jshintrc

Remove repeated "esnext" jshint rule
[BUGFIX beta] Fixes V8 bailouts for `propertiesFromHTMLOptions` function

Before:

![bailouts](https://cloud.githubusercontent.com/assets/1131196/4175916/51e9079c-35ec-11e4-9de0-a83abb8c2c22.png)

After:

![bailouts-fix](https://cloud.githubusercontent.com/assets/1131196/4175920/6b51211a-35ec-11e4-9423-271910496a9c.png)

Bailout reason: "ForIn is not fast case"

It turns out that we can use `Object.keys` instead of using `for-in`.

`for-in` is actually more expensive as it will enumerate properties in
the prototype chain as well (you have to use `hasOwnProperty` check
which is not cheap). More about
[`for-in`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in)
for the curious.

`Object.keys` will return an array of a given object's own enumerable
properties. That is very handy because we can avoid `hasOwnProperty`
check and looking up properties on the prototype chain.

```javascript
var a = { bar: 'foo', baz: 'blah' };
Object.keys(a);
// ["bar", "baz"]
Object.getOwnPropertyDescriptor(a, 'bar');
// Object {value: "foo", writable: true, enumerable: true, configurable: true}
```
[BUGFIX beta] Update router.js.
Merge pull request #5641 from rwjblue/update-router

[BUGFIX beta] Update router.js.
[BUGFIX beta] Update metal view test helpers to work in IE8