Fix issue #34

- Implemented CookieStore class which has an ability to serialize and
deserialize its CookieContainer.
- Synced IHttpClientFactory interface with the Android’s implementation
: including cookie related method and making changes to all the classes
that implement the interface.
- Modified DefaultAuthHandler to pass CookieStore as one of its
constructor. DefaultAuthHandler will call the Commit() method on the
CookieStore object to persist the CookieContainer when it detects
‘Set-Cookie’ in the response header.
- Added CookieStoreTest for testing the CookieStore class.
- Added TestSetAndDeleteCookies() in ReplicationTest.
Fix issue #33

- Implement Authenticator and AuthenticatorFactory
- Move the code that extracts credentials from url’s user info and the
authenticator object into AuthUtil so that it could be reused in
Replication and ChangeTracker.
- Port AuthTest from Android
- Still keep the Authorizer code as we may use some codes from it when
we implement Routher (Rest API Access) — Android and iOS are still
using Authorizer to do authentication inside its Router class.
Fixes #102, 'invalid platform' error when building package.
Merge pull request #103 from couchbaselabs/fix-component-build

Fixes #102, 'invalid platform' error when building package.
Refactor CookieStore

- Extend CookieStore from CookieContainer.
- Use JSON.NET to serialize / deserialize CookieCollection object.
- Use Reflection to access to the cookies field of the CookieContainer
- Rename Commit() to Save()
Refactor Replication.GetCookieContainer()

Change Replication.GetCookieContainer() to a read-only CookieContainer
property.
Fix issue #100

- Add FacebookAuthTest to test authenticating by using Facebook.
- Add Facebook reister to the SyncGateway config file.
Use Couchbase Lite Unit Tests Facebook App Id
Merge pull request #104 from couchbaselabs/fix-issue-100

Fix issue 100
Complete issue #94

- Add StorageEngineTest to test StorageEngine's transactions with multithreading
- Add more comment at View.cs regarding the issue #81 which is related to the added test
Merge pull request #96 from couchbaselabs/fix-issue-34

Fix issue #34
Manual merge of PR #105.
Merge pull request #105 from couchbaselabs/fix-issue-33

Fix issue #33
Fixes IAuthenticator interface. Refactors existing code.

Previously IAuthenticator was an empty tag interface.
This provided no benefit, despite the cost of casting
in numerous locations. This changes the interface so
that the needed members are specified, and migrates
existing subclasses to use interface implementation
instead of inheritance, making them more flexible.
Merge pull request #109 from couchbaselabs/fix-authenticator-interface

Fixes IAuthenticator interface. Refactors existing code.
Complete issue #94

- Add StorageEngineTest to test StorageEngine's transactions with multithreading
- Add more comment at View.cs regarding the issue #81 which is related to the added test
Rebase with master
Merge pull request #106 from couchbaselabs/issue-94

Complete issue #94
Updating current snapshot hash.
Update sharpen snapshot to 1.0.0