Add tests for calling jQuery.ajax from DS.RESTAdapter
Fix: unload record with relationships

- calling `clearRelationships` before changing record state,
  otherwise it fails, because properties try to update removed
  relationships

- Transaction commit failed when an unloaded record was in the
  `transaction.bucketForType.updated` array. Using recordIsMoving fixed
  this issue
fix test description
fixed issue #582
added adapter integration test for dirtyRecordsForAttributeChange
Failing test: 'When a record is loaded a second time, isLoaded should stay true'
Add docs directory with package.json and yuidoc.json

`EMBER_PATH=../ember-data rake preview` in ember-website does not quite
work yet. I don't have time at the moment to get it working completely,
but let's have the docs directory as a starting point.
Add live query test for RecordArray
Potential fix for #731
Use Ember.isNone for null check instead of !

Using !id to check for a null belongsTo id was causing relationships to be treated as missing.
Remove unused method

DS.Model#setProperty is no longer working.
Move createSerializedForm to DS.Serializer.  Serializer calls the routine currently, but it's only defined in the JSON and Fixture implementations.
Added 'isLoading' flag to DS.State
pushData and load now call loadData instead of duplicating code
automatically publish passing master branch builds to s3

This commit will publish passing builds of the master branch to s3 for
convenient downloading.

Files created if the build is successful:
ember-data-latest.js
ember-data-latest.min.js
ember-data-<revision>.js
ember-data-<revision>.min.js

Any *-latest*.js files will be overwritten to the build that passes and
runs `rake publish_build`.

To add credentials to your travis instance:

gem install travis
travis encrypt S3_ACCESS_KEY_ID=yourkey --add
travis encrypt S3_SECRET_ACCESS_KEY=yourkey --add

You'll also need to update the S3_BUCKET_NAME=yourbucketname in
.travis.yml
unify the way adapter methods are asserted
Enforce more methods on serializer

* extractId
* extractAttribute
* extractHasMany
* extractBelongsTo
* createSerializedForm
* addId
* addAttribute
* addHasMany
* addBelongsTo
model.inverseFor
Only enforce invariants for materialized records

If a record is deleted, its has-many relationships
are cleared. Previously, the inverse on all of the
child records (their "foreign keys") were nulled
out.

Unfortunately, this was also happening when the
has-many array had not been materializing—meaning
that deleting a record could actually cause all
of the records in its has-many relationships to
be retrieved from the adapter!

This commit only implements the above-described
behavior in instances where the has-many
relationship has been materialized. In cases where
it has *not* been materialized, only those records
which have already been coincidentally materialized
on the client have their inverse cleared, to
preserve the correct state on the client. For
unmaterialized records, we assume the adapter (or
more likely, the server, in the case of REST) will
be responsible for maintaining the invariant.

Also, this fixes the previous failing unit tests.
Sorry about that.
Merge pull request #856 from tchak/adapter-asserts

unify the way adapter methods are asserted