Preparing test for queue serialization
Updated Channel.Serializer interface

provides methods for each point of a change's lifecycle
- queued
- dequeued
- sent
- acknowledged

Adding tests for Channel's use of Channel.Serializer
Adding Channel Serializer acknowledge test
Preparing new Channel.Serializer with db storage

Test class prepared and interface methods with notes
Test QueueSerializer database setup
Extracting ChannelListener from ChannelTest into reusable class
Moving waitUntil methods to TestHelpers
More testing for the QueueSerializer
Removing generic from Change

Change only ever needs to know that the object is Syncable
Adding MockChannel autoAcknowledge flag
Clean up coding sstyle on GhostStore
Fixing bug with constructor
Restore from serialized data
Adding null check for bucket in Syncable
Implementing new db backed channel serializer

Fixes #25
Reusing database for other components
Merge branch 'issues/queue-serializer'

Removing some generic uses of Change
ChannelTest methods moved to TestHelpers

Conflicts:
	Simperium/src/instrumentTest/java/com/simperium/testapp/ChannelTest.java