Ensure that async hasMany is always a promise
begin tidying up promise usage.

Passing resolver from a caller to a callee, when the
callee merely returns the resolvers resolution is not needed.

In scenarios which still require this pattern, simply providing
the resolve of the resolver is sufficient.
Removing deleted records from RecordArrays is now async.

Previously filtered record arrays were updated asynchronously when records were added, but record arrays were updated synchronously when records were deleted.  This led to surprising behavior such as:

```js

myRecordArray.get('length') // => 2
myRecordArray.invoke('deleteRecord');

// we didn't delete everything, because we mutated the record array during iteration
myRecordArray.get('length') // => 1
```

Now all record array updating goes through the same code path.

-- David J. Hamilton & Stefan Penner
Merge pull request #1541 from stefanpenner/async-record-array-deletion

Removing deleted records from RecordArrays is now async.
Ember.run.once of an anonymous function is just wasteful, as each
invocation creates a new function.

All this would do is add some extra work to backburner.
Throw instead of assert in `modelFor` when type can't be resolved.

Background: Asserts are stripped out of production builds. In production,
it is possible that a root key in an API response changes in a way that
your serializer's `typeForRoot` implementation does not convert properly.
Since the assert in `modelFor` is stripped in production builds, the
javascript error raised in a production environment would be:

  "Cannot set property 'typeKey' on undefined"

This commit changes the assert to a check and throw so the error
raised would be something like:

  "No model was found for 'home_planet'"

The provides a much more helpful error for real-world production
errors at a relatively small price (one extra line of code and
a simple value check).
Merge pull request #1547 from lukemelia/model-for-error-message

Throw instead of assert in `modelFor` when type can't be resolved.
Merge pull request #1537 from stefanpenner/tidy-promise

begin tidying up promise usage.
Update header comment format to keep it on minify

Some minifier keep header comment over its format.

1. YUI Compressor
It keeps the header comments beggining with `/*!`
* http://yui.github.io/yuicompressor/css.html#special-comments

2. Closure compiler
It keeps the header comments containing `@license` or `@preserve`
* https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-license

I think header comment is very important because it includes its own license.
Merge pull request #1552 from tricknotes/update-header-comment-format

Update header comment format to keep it on minify
Merge pull request #1440 from teddyzeenny/async-has-many

Ensure that async hasMany is always a promise
Fix Travis failures and publishing of builds.

Updates to the latest ember-dev which ensures that the git config
user.name and git config user.email values are present before calling
git cherry-pick. This is due to a recent change in git 1.8.5 which
requires the user information be present prior to a cherry-pick.

Travis accidentally reverted to using an older git version that does not
support the `--points-at` flag that we are using in `ember-dev`.

This forces the system to upgrade to the latest version.

Travis ticket for reference:
https://github.com/travis-ci/travis-ci/issues/1710.
[BUGFIX] Clean up findAllCache after unloading all records.
Merge pull request #1555 from abuiles/fix-unloadAll

[BUGFIX] Clean up findAllCache after unloading all records.
Merge pull request #1549 from rjackson/fix_publishing_of_builds

Fix Travis failures and publishing of builds.
Clean up the docs in system/model/attributes
- Documents the attributes and transformedAttributes static properties
- Documents the eachAttribute and eachTransformedAttribute static functions
- Fixes the docs for DS.attr so the website will no longer claim it lives in DS.Model
- Add example for DS.attr docs
Merge pull request #1558 from bmac/model-attributes-docs

Clean up the docs in system/model/attributes
Make many arrays update correctly