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
Issue #224 - rather than explicitly start listening, do it lazily when the first listener is added.

After this change, it should fix a bug when being used by multiple Manager instances.
https://github.com/couchbase/couchbase-lite-android/issues/224