Channel now using dedicated thread for change queue

Reverting changes that moved to using an executor service.

Fixed all regressions in tests related to bug fixes that were implemented in the executor service version.

Fixes #88
Merge pull request #89 from Simperium/issue/88-sync-executor

Channel now using dedicated thread for change queue
Don't add where clause if subject is null. Fixes #90.
Removed unneeded null check.
Test for query with null subject

refs #90
Simplifying test
Merge branch 'issue/90-null-subject-query-test' into issue/90-null-subject-query
Test harness for PersistentStore.QueryBuilder

Makes QueryBuilder SQL directly testable.

Refactored PersistentStoreTest to an abstract base class PersistentStoreBaseTest so the query builder tests can reuse the same database setup.
Close cursors in test
Allows indexes to have null values

Adds null value indexer to test Note model.
Allow searching for null indexes

If a query is using an EQUAL_TO, NOT_EQUAL_TO, LIKE or NOT_LIKE comparison to a null value then the SQL will look for matching objects that have a null value in an index at that value
Test shouldn't delete the database
Merge pull request #91 from Simperium/issue/90-null-subject-query

Supporting null indexes and query values.
Set a limit to how many times a full object change will be retried (currently 1). Fixes #93.
Updgrade Simperium to latest Gradle. 'instrumentTest' folders renamed to 'androidTest' for copmatibility.
Adding test for requeueChangeWithFullObject retry limit.
Fire a bucket listener message after the bucket resets.

 * Adds a RESET value to the ChangeType enum
 * Trigger the listener with the RESET value after the bucket resets.

Allows for clients to react accordingly if the bucket resets.
Merge pull request #96 from Simperium/feature/bucket-reset-listener

Fire a bucket listener message after the bucket resets.
Remove unneeded test dependency.
Merge pull request #94 from Simperium/issue/93-requeue-loop

Control the number of times a change can be retried.