Merge partial data that comes from the server after a save

Previously if a server returned a partial hash as a response to
a save, the record would lose all the rest of the data it had.
For example if you sent:
```js
{ id:1, comment_id:10, title:'Awesome PR'}
```
And the server responded with
```js
{ id: 1}
```
You would have lost the `comment` and `title` data. This PR makes
sure we merge properly when saving similarly like we do for `find`