startWithIndex helper
Fix indentation
Utility method to send a remote change to a channel
Fix typo
Test for #67
Updated tests for #67
Testing utility methods
Incomplete implemenation to transform diffs

Mostly a port of https://github.com/Simperium/jsondiff/blob/eb61ad1e4554450cc14af1938847f18513db946b/src/jsondiff.coffee#L458-L503
RemoteChange merge local modifications

RemoteChange detects if it is updating an object that has local modifications and updates the local state to a threeway merge.

Currently incomplete
Fixed typo
JSONDiff tests for combining diffs
Playable executors can be named

Naming the executors in ChannelTest
JSONDiff.transform updates
RemoteChange performs diff transform if object has local modifications

If the remote change is not an acknowledged change and is modifying an existing object, compare the local instance diff to see if there are modifications and if they are different than the incoming modifications and transform the local modifications if necessary.

Fixes #67
Fixing merge test value
Only update local object with default properties if it's a new object
After applying a remote change clean up pending changes

After a remote change is applied there can be a local change queued to go out.

If the incoming change removed the object, remove all pending changes. If the incoming change modified the object, recalculate the change to sync.

Tell the serializer to dequeue the pending change that will no longer be sent.