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.
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
Fixes #102.

The NuGet packages for SqlitePCL.raw underwent name changes.
Updated the nuget package names, and had to manually add
SqlitePCL.raw-basic package first, as the SqlitePCL.ugly
package was picking up the (older) cached package instead.
Merge pull request #107 from couchbaselabs/xam-beta2-fix

Fixes #102.
Refs #102

Adds unstaged chunks that should have gone
in the previous commit.
Merges uncommitted hunks.

Several hungs should have been included in the
previous commit, but weren't staged. Fixes #102.
Final missing bits refs #102.
Update component to include renamed deps.
Updated Nuget Sqlite packages in iOS project.
Updates Nuget packages in for Android sample.
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.