Revert "Revert "Fixes for issues 280, 283, 285, 287 & 299""

This reverts commit df92dd2cbc11d07ada13f6605ec1bc5fcbff20c0.
Revert "Revert "Fix bugs in previous PR & got more tests to pass""

This reverts commit 151928cb121f846e0abfde3d34baa139a697704a.
Issue #300 - add git submodule for java-listener module.

https://github.com/couchbase/couchbase-lite-android/pull/300
update submodule
Add comments