always close response stream in ChangeTracker

In the ChangeTracker's run method, the response stream is sometimes left
unclosed.

When ChangeTrackerMode is LongPoll, the stream is closed after it has
been read with ObjectMapper.readValue(). But, in the OneShot case, the
stream is never closed, since the JsonParser never reaches the end of
the stream.

It might be possible for the LongPoll case to leak too if an error is
thrown, but I'm not sure. To be safe, I've wrapped both cases in a
try/finally block that ensures the response entity is always closed.
Update javadocs to match API spec.  (issue #180)

https://github.com/couchbase/couchbase-lite-android/issues/180
add failing test demonstrating incorrect conflict replication

Replicates couchbase/couchbase-lite-android#174. Conflicting leaf
revisions aren't being sent in push replications.
include all leaf revisions in push replications

Fixes couchbase/couchbase-lite-android#174.
Merge branch 'refs/heads/stable'
Merge branch 'refs/heads/push_leafs'
Rework testAllLeafRevisionsArePushed() so that it has no external sync gw dependencies.

https://github.com/couchbase/couchbase-lite-android/issues/174
Merge pull request #30 from mjq/http_leak

Always close response stream in ChangeTracker