Complete issue #71 and #181

- Make ChangeTracker support POST requests

- Puller’s ChangeTracker uses POST requests when sync gateway version
    is 0.93+
Complete issue #191

Check null equals for key and sourceDocumentId in QueryRow.Equals() method
Complete issue #199

In Database.expandStoredJSONIntoRevisionWithAttachments(), ensure that
json has data before appending extra information to it.
Complete issue #202

In Manager.GetDatabase(), return null if database cannot be opened.
Adds semicolon missing from issue #226.
TestPusher now fails when SG returns 415.

This captures the problem identified in issue #246.
Merge pull request #243 from couchbaselabs/issue-202

Complete issue #202
Complete issue #223

- Port fix for not uploading previous revision attachment
- Port Database.StubOutAttachmentsInRevBeforeRevPos()
- As part of the port, Replication.revisionBodyTransformationFunction
and propertiesTransformationFunction are included but not used as they
are not part of v1.0.0 release. A note regarding this has been added to
the code as well.
- Fix Pusher.UploadMultipartRevision — SyncGateway doesn’t like
MultipartForm content so changing it to multipart/related is needed.
- Fix Database.StubOutAttachmentsInRevision() to make it working
correctly.
- Add ReplicationTest.TestPusherFindCommonAncestor() and
DatabaseTest.TestStubOutAttachmentsInRevBeforeRevPos()
- Remove unused Database.LastSequenceWithRemoteURL()
Fix Replication and Pusher bug

- Fix SendAsyncRequest checking error code bug. We cannot only check
for HttpStatusCode.OK (eg. HttpStatusCode.Created is also valid).
- Fix Pusher.ProcessInbox bug when preparing docs for UploadBulkDocs()
- Minor enhance log messages
Fixed 3 Replication tests.

Fixed TestAllLeafRevisionsArePushed, TestHeaders, and TestPusherDeletedDoc.

Some key exceptions were getting swallowed,
which prevented TestHeaders from firing
the Changes callback.

Removed the early instantiation of the shared
instance of Manager, which is only used in
the Android simple demo.

Also removed some opportunities for the TaskScheduler to deadlock.
Fixed additional tests.

Allowed broader use of inlining in the TaskScheduler,
and resolved a dispose issue in the MockHttpClientFactory
that lead to a deadlock.

Fixes TestRemoteConflictResolution and TestPuller.
Merge pull request #238 from couchbaselabs/issue-181

Complete issue #71 and #181
Complete issue #223

- Port fix for not uploading previous revision attachment
- Port Database.StubOutAttachmentsInRevBeforeRevPos()
- As part of the port, Replication.revisionBodyTransformationFunction
and propertiesTransformationFunction are included but not used as they
are not part of v1.0.0 release. A note regarding this has been added to
the code as well.
- Fix Pusher.UploadMultipartRevision — SyncGateway doesn’t like
MultipartForm content so changing it to multipart/related is needed.
- Fix Database.StubOutAttachmentsInRevision() to make it working
correctly.
- Add ReplicationTest.TestPusherFindCommonAncestor() and
DatabaseTest.TestStubOutAttachmentsInRevBeforeRevPos()
- Remove unused Database.LastSequenceWithRemoteURL()
Fix Replication and Pusher bug

- Fix SendAsyncRequest checking error code bug. We cannot only check
for HttpStatusCode.OK (eg. HttpStatusCode.Created is also valid).
- Fix Pusher.ProcessInbox bug when preparing docs for UploadBulkDocs()
- Minor enhance log messages
Fixes several tests.

Fixes TestPusher, TestPushReplicationCanMissDocs,
and TestPutLargeAttachments.
Remove noop attribute.
Merge conflict resolution.
Merge pull request #247 from couchbaselabs/issue-223

Complete issue #223
Merge pull request #240 from couchbaselabs/issue-191

Complete issue #191
Fixed attachment download issue.

Passing in the array, as opposed to the ArraySegment would cause some
attachments to download incorrectly.  It would add extra bytes into the
attachment (dependent on the size of the remaining bytes of the last
buffered segment as compared to the buffer size)