feat(model): Update go via PATCH, not PUT

Allows us to regulate which fields are updated, i.e. not necessarily all.
feat(model): Patch only with updated fields

In the model constructor, save the data to `_original`, so it can be diffed at a
later stage. Then, in `transformItemRequest`, return only the diff if
`_original` is set and if the object is not "new".

BREAKING CHANGES: Must call `_setOriginal()` in constructor in order to get the
diffing qualities.
Merge branch 'feature/patch' into develop