Fixing unit tests

MockChannel applies the change immediately so isModified will always return false. Caches isModified for later use.
JSONDiff unit test fix

Currently not using Array/List diffing, unit tests commented out in the meantime
Change.toString more descriptive for logging
Channel unit tests

Setting up some unit tests for Channel class before messing with processing thread
Adding helper methods and tests to ChannelTest
Channel now waits when there is no activity

First pass at making the thread block. Can still be smarter about knowing if there are any localChanges that are dependent on pendingChanges being acknowledged.

Fixes #16
Cleaning up Channel unit tests