New test: Tests that local modifications are merged when we update a ghost from a full object request.
Request the full object from Simperium if we can't apply an acknowledged change.

If we have local modifications when the full object comes in, attempt to merge them with the new ghost.
Code style fix.
Ensure any changes for an object are removed from the local queue when we encounter a RemoteChangeInvalidException. Fixes #112
Adding a null check on `simperiumKey`
Merge pull request #113 from Simperium/issue/112-duplicate-changes

Issue/112 duplicate changes