cleanup unneeded volatile()

volatile() properties are for non-observable props
remove duplicate test
Define Ember.CoreObject#willDestroy. Fixes #1438.
Make object destruction async so we can reduce churn when destroying interconnected object graphs.

Half of the work related to #1961
Add views to Ember.View.views upon insertion in DOM rather than on init. Fixes #1553
Share empty arrays in Ember.View prototype. Lazily slice it upon manipulation.