Implemented new Authenticator APIs

* Implemented new Authenticator APIs including AuthenticatorFactory and Authenticator class as defined on https://github.com/couchbaselabs/couchbase-lite-api/blob/master/gen/md/Replication.md.
* Implemented TokenAuthenticator which will be used for facebook and persona authenticator. This is inline with the iOS implementation.
* Implemented BasicAuthenticator used for basic authentication. Introduce authUserInfo() method called by RemoteRequest and ChangeTracker to add Basic Authentication to the request. The method is equivalent to authorizeURLRequest:forRealm: and authroizeHTTPMessage:forRealm: of the iOS implementation of CBLBasicAuthorizer class.
Removed duplicated and commented codes

* Removed duplicated codes when setting BASIC Auth params in ChangeTracker.java
* Cleaned up commented and unused codes in ChangeTracker.java and RemoteRequest.java
* Added comments to the getAuthenticator() and setAuthenticator() method in Replication.java
Merge pull request #159 from couchbase/auth_api

Implemented new Authenticator APIs
issue number #158 - improved view query performance by only parsing JSON data when values read
issue number #158

Removed TODO: items and added braces around one line 'if statement' targets following code review by @tleyden
Merge pull request #162 from couchbase/issue_158

issue number #158 - improved view query performance by only parsing JSON...
Issue #151 - add new public methods for enabling logging

Also add public methods which allow avoidance of string builder hit.
Issue #151 - make a pass through code to set appropriate logging tags.
Issue #151 - make a pass through code to pass formatString and var args
Issue #151 - found error when running unit tests
Issue #151 - review changes and fix obvious mistakes
Issue #151 - comment regarding efficiency
Issue #151 - forgot to set default level for TAG_BLOB_STORE
Merge pull request #165 from couchbase/feature/issue_151

Feature/issue 151
Rename com.couchbase.cblite -> com.couchbase.lite
Version name/code template that will be replaced during jenkins build.
Issue #241 - initial implementation cookie auth

https://github.com/couchbase/couchbase-lite-android/issues/241
Issue #241 - allow user to override path.  add maxAge overridden method.

https://github.com/couchbase/couchbase-lite-android/issues/241
Issue #241 - ChangeTracker should set error to HttpResponseException

Discovered while testing ToDoLite

https://github.com/couchbase/couchbase-lite-android/issues/241
Issue #269 - add PersistentCookieStore

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - use PersistentCookieStore

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - avoid singleton to get around test failure

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - fix exceptions in tests

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - decouple httpfactory and cookiestore impl

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - share PersistentCookieStore among replications using same local db

https://github.com/couchbase/couchbase-lite-android/issues/269

Issue #269 - PersistentCookieStore as weak ref of db instance

https://github.com/couchbase/couchbase-lite-android/issues/269