Adding dir and lang to allow for easier bidirectional support
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
[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}
```

Conflicts:
	packages/ember-handlebars/lib/helpers/view.js
[BUGFIX beta] Update router.js.
[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`.

Conflicts:
	packages/ember-views/lib/system/render_buffer.js
[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.
[DOC release] Array mixin cleanup

Conflicts:
	packages/ember-runtime/lib/mixins/array.js
Update CHANGELOG for 1.8.0-beta.3.
Bump version for 1.8.0-beta.3.
Update changelog for 1.8.0-beta.2 and 1.8.0-beta.3.
Post release version bump.
Updates Map's preamble

Use of Map.prototype.remove is deprecated
Merge pull request #5646 from trek/update-mapjs-preamble

Updates Map's preamble
ES6: Map.prototype.clear
no need using ‘delete’ es3safe handles this for us.
es6 31.1.3.5

* ensure the arity for map.forEach is 1
* ensure that regardless of size if the callback is not callable we throw and exception