Methods which return arrays created within them should call Ember.A
Fix issue where classNameBindings can try to update removed DOM element.

Ember.View#registerObserver now uses states to invoke observers only when there is an element for them to operate on. This avoids a class of issues that can arise when observers are triggered even though the element has been removed from the DOM.
Merge pull request #2185 from lukemelia/avoid-addClass-on-null-element

Fix issue where classNameBindings can try to update removed DOM element.
[fixes #2189] #render was declared as @method action
Merge pull request #2193 from stefanpenner/master

[fixes #2189] #render was declared as @method action
Docs: Ember.run.once with anonymous functions

Added warning in the docs that passing identical anonymous functions to Ember.run.once will still schedule the functions to be called twice.
Merge pull request #2195 from machty/patch-1

Docs: Ember.run.once with anonymous functions
[fixes #2196] Enumberable#firstObject and #lastObject are computed
properties, for property access get should be used. This updates the
documentation accordingly
Merge pull request #2197 from stefanpenner/master

[fixes #2196] Enumberable#firstObject and #lastObject are computed
Fix typo in Ember.String#classify doc
Merge pull request #2200 from bradleypriest/patch-1

Fix typo in Ember.String#classify doc
Merge pull request #2167 from gavacho/fix-array-methods

Methods which return arrays created within them should call Ember.A
Fix order of argument name and its type in document
Fix argument type

`opts` is optional argument.
Remove unused variable

- `meta` is not used in `Ember.Array`.
- `defineProperty` is not used in `Ember.Observable`.
Use `//` for evaluated values

The JavaScript comment should be beginning with `//`, not `=>`.
Merge pull request #2206 from tricknotes/fix-document-in-code

Fix document in code
Merge pull request #2205 from tricknotes/remove-unused-variable

Remove unused variable
Avoid prototype property name conflict in cache key

The value that is contained as key of `Object.prototype` couldn't be dasherize.

For examples:
``` javascript
Ember.String.dasherize('toString'); // function toString() { [native code] }
```

This reason is that cache is object (not Hash or Map) inherited
`Object.prototype` as its property.

`Object` should not be used as key of cache that accept any keys from user
input.
So I used prefix `:` as the key of cache.
Remove unnecessary '#'

'#' is unnecessary for putting return value.