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
Bump up emberjs-build version

Testing with the latest version of emberjs-build
Stream-based shouldDisplay checking

Closes #9895.
Merge pull request #9988 from ef4/fix-inline-if

Stream-based shouldDisplay checking
Cleanup escaping in SimpleBoundView
[BUGFIX release] Fix hasThis lookup regression

Also optimizes lookup using lastIndexOf(x, 0), resulting in a constant time lookup
Merge pull request #9991 from kanongil/this-path-fix

Fix hasThis lookup regression
Refactor the `if` helper to not rely on `bind` anymore
Merge pull request #9995 from mmun/cleanup-escaping

Cleanup escaping in SimpleBoundView
Merge pull request #9997 from ebryn/bound-if-view

Refactor the `if` helper to not rely on `bind` anymore
Merge pull request #9983 from twokul/emberjs-build-upgrade

Bump up emberjs-build version
Cleanup escaping in BoundView
Cleanup escaping in LinkView
Remove _SimpleMetamorphView
Merge pull request #9998 from mmun/cleanup-escaping

Cleanup some more escaping
Use a precompiled empty template
Update README.md fix punctuation
Merge pull request #10000 from mmun/empty-template

Use a precompiled empty template
Simplify if helper and view
Merge pull request #10001 from alextsg/patch-2

Update README.md fix punctuation