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.