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
Issue #103 - the changes count was not being updated for revisions that had attachments pushed via multipart upload.

Fixed by porting a few changes from equivalent iOS method.
https://github.com/couchbase/couchbase-lite-android/issues/103
Remove dead commented code
Issue #96 - fix by calling update() correctly.  Sha1 hashes calculated with this method were wrong before this change.

https://github.com/couchbase/couchbase-lite-java-core/issues/96
Issue #224 - initial implementation effort.

1. add interfaces
2. update replicator to listen for network changes

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