fix(INNamespace): respect resourceMapping when updating threads and tags

Previously, when merging properties into objects being updated, the properties were not transformed
into client-side properties (defined in the resourceMapping for the model). This CL provides simple
machinery for ensuring that this works as expected.

In addition, machinery is added for merging simple arrays, such as messageIDs or draftIDs.

Still TODO: support correctly merging participants and tag data arrays during update.

Closes #30
Closes #32
fix(INModelObject): fix regression in INModelObject#update

e0e0151db68dd10cea1431f8742bb89d2c2fe6f5 introduced a regression which caused properties which did
not appear in both the client JSON and raw JSON to be deleted from a resource object, which meant
messageIDs, threadIDs, and so on, were removed.

This is fixed with this CL.

Closes #34
Closes #35