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