[WIP] `propertyDidChange` firing twice every time a property is set

Attempt to solve #26. 

Remove generated properties dependecies on `data` attribute, so when manually setting a property it doesn't fire propertyDidChange twice.

To make that work, `updateWithApiData` needs to fire `didChange` events for the keys in the parsed json, and generated properties should depend on those keys.

E.g:

```javascript
Ember.Resource.define({
  schema: {
    name: String,
    theProperty: { type: String, path: 'the_property' },
    userName: { type: String, path: 'user.name' }
  }
});
```

`name`: json key and property is the same, so when it fires `name` changed, this case is covered.
`theProperty`: it fires `the_property` changed, and the generated property declares `the_property` as a dependency
`userName`: it fires `user` changed, and the generated property declares `user.name` as a dependency (doesn't matter how nested the dependency is, as long as it tells ember that the first element changed)

/cc @shajith @jish