Introduce __defineNonEnumerable hook, this allows parts of ember to opt-out of the enumerable safety. Unfortunately at this time there is not way to create fast non-enumerable properties. Historically ember has this to allow people to merge, extend and JSON.stringify. Unfortunately some things like Ember.Views should do not need this but still suffer from the pretty hefty overhead.

This PR Reduces the cost of view allocation by 300% -> 400%.

Micro bench (creating 10,000 views):

before: 120ms
after:   35ms
[BUGFIX beta] Use dom helper for setting properties, drop hasOwnProperty
[BUGFIX beta] Swap nodeType for type check
[BUGFIX beta] Only start hydrating morphs if there are legacy childViews
Avoid global variable leak in script files
Merge pull request #9955 from tricknotes/avoid-global

Avoid global variable leak in script files
[DOC release] Fixes overeager gsub for Ember.Object -> EmberObject
Ember-on-node refactor removed location from AutoLocation.

This commits brings it back, loading it from the new `environment`
object that abstract the window/node environment.
Merge pull request #9957 from trek/fix-incorrect-extends-doc

[DOC release] Fixes overeager gsub for Ember.Object -> EmberObject
Bring back _history too.
Merge pull request #9958 from cibernox/bugfix/missing_location

[BUGFIX canary] Initialize location in Ember.AutoLocation.
[DOC Release] Removed extra parameter `queryParams` from API documentation of model, afterModel and beforeModel hooks.
[BUGFIX beta] Use null prototype for helper object
[BUGFIX beta] Refactor render to be a bit less crazy
Merge pull request #9923 from mixonic/buffer

[BUGFIX beta] Buffer cleanup and profiling catches
Merge pull request #9918 from mixonic/setup-context-perf

[BUGFIX beta] Refactor route.render for increased sanity
[Bugfix beta] avoid setting hasES5CompliantDefineProperty when android 2.3 bug is present
Merge pull request #9959 from GowthamMK/api_docs_fixes

[DOC Release] Removed extra parameter `queryParams` from API documentation of model hooks.
Merge pull request #9952 from dontfidget/android23

use non es5 compliant defineProperty for android 2.3
[BUGFIX beta] Put SafeString in the right place.