Trigger actions for keyUp and keyDown.

* Trigger `key-up` and `key-down` actions.
* Remove extraneous event listeners.
[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.
prefer new Map() syntax
short circuit has/forEach/get if map is empty
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.
[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
Merge pull request #5644 from mixonic/ie8-metal-views-helpers

[BUGFIX beta] Update metal view test helpers to work in IE8
[BUGFIX beta] contextualElements, handle omitted start tags

Also bumps HTMLBars.

During a renderTree call, look to the morphs for information about the
contextualElement. Pass this to the Ember renderer, which in turn passes
it to the buffer for use when generating an element.

Additionally, strip omitted start tags even if the child node causing
their generation is after a script tag. See the long comment in
`render_buffer`.
[BUGFIX beta] Fix several test that fail due to bad DOM construction on IE8
[Bugfix beta] slightly defensive perf

Ember.merge is global and as such if merge(x, y) ever happens where y is not safe for enumeration, it can deopt the function (in v8) for all other users.

Since functions are shared, deopting merge can cause inlining bailout cascades throughout the framework. Now it is still possible to deopt it by for example passing a global like window to it, but at least it wont happen more unexpectedly.