Added 'isLoading' flag to DS.State
Allow options.defaultValue of DS.attr to be a function

This change allows the defaultValue defined for a DS.attr to be a
function, so it is possible to do something like this:

```
User = DS.Model.extend({
  createdAt: DS.attr("date", {
    defaultValue: function() {
      return (new Date());
    }
  })
});
```

This closes #878
Typo in Bulk DELETE test

This test labeled as issuing a `PUT` instead of a `DELETE`

The actual test code does make a `DELETE` request
Merge pull request #882 from southpolesteve/patch-1

Typo in Bulk DELETE test
Merge pull request #879 from pangratz/allow_function_as_default_value

Allow options.defaultValue of DS.attr to be a function
Merge pull request #747 from fpauser/isloading-flag

Add 'isLoading' flag to DS.State
A record is found after loading its id through a hasMany relationship.

As we have now a reference for records in a hasMany relationship,
we need to make sure we load them when accessed. If the record is
`UNLOADED`, we materialize the record.

[Fixes #869]
Merge pull request #883 from Cyril-sf/has-many-bug

A record is found after loading its id through a hasMany relationship.
Move unit test for JsonSerializer to serializers directory

The test for the RESTSerializer already is in this directory so this
change adds some consistency.
Merge pull request #886 from pangratz/move_json_serializer_test

Move unit test for JsonSerializer to serializers directory