Issue #52 - this fixes delta with iOS code noticed while debugging this issue.

https://github.com/couchbase/couchbase-lite-java-core/issues/52
Issue #201 add assertion that body is not null

https://github.com/couchbase/couchbase-lite-android/issues/201
Issue #201 - change semantics to match iOS.  If there are no properties, return null rather than throwing NPE.

https://github.com/couchbase/couchbase-lite-android/issues/201
Issue #108 - port functionality over from iOS related to checkpointing behavior.  Verify unit tests still pass.

https://github.com/couchbase/couchbase-lite-android/issues/108#issuecomment-36802239
Debugging testOnlineOfflinePusher unit test that is failing on Jenkins CI server
Issue #219 - add debug logging

https://github.com/couchbase/couchbase-lite-android/issues/219
Issue #219 - was not waiting for the remoteRequestExecutor to terminate.

This change did not fix anything, but seemed to be more correct use of the API.

https://github.com/couchbase/couchbase-lite-android/issues/219
Issue #219 - previous commit introduced a NPE when stopRemoteRequests called multiple times.

https://github.com/couchbase/couchbase-lite-android/issues/219
Enhance logging statements
Issue #219 - Fix by making behavior closer to iOS code

(in the iOS case, the object that is responsible for emitting network state events is given the runloop of the replicator thread)

https://github.com/couchbase/couchbase-lite-android/issues/21
Issue #219 - I noticed the number of async tasks kept increasing.  It was calling asyncTaskStarted in beginReplication, however it's not doing this on iOS.  Fix accordingly.

After removing asyncTaskStarted from beginReplication, I noticed errors related to shutting down the reqeustExecutor.  Instead of shutting it down, do as iOS does and just keep references to requests (futures in this case) and cancel them when needed.

https://github.com/couchbase/couchbase-lite-android/issues/219
Add TODO and fix typo in logs
Minor enhancements to logging
SequenceMap was missing javadocs
Issue #95 - port iOS changes over needed to fix this issue.

All ReplicationTest unit tests currently passing.

https://github.com/couchbase/couchbase-lite-java-core/issues/95
Issue #220 - Add comment related to this issue
Issue #97 - Initial implementation for couchbase Lite Android needs WeakRef doc cache

https://github.com/couchbase/couchbase-lite-java-core/issues/97
Issue #103 - while looking into this issue, I noticed that pullRemoteRevision() and insertDownloads() were very different than their iOS counterparts.  Port functionality over.

All unit tests passing locally.

https://github.com/couchbase/couchbase-lite-android/issues/103
Issue #103 - saw ConcurrentModificationException while running unit tests.  Fix per SO post:

http://stackoverflow.com/questions/13151166/collections-synchronizedmapnew-linkedhashmap-is-not-making-map-threadsafe

https://github.com/couchbase/couchbase-lite-android/issues/103
Issue #103 - port fix from iOS ticket.

https://github.com/couchbase/couchbase-lite-ios/issues/274

https://github.com/couchbase/couchbase-lite-android/issues/103