Allow for query settings chaining

This change makes it easier for developers to set the options on
a query. For example,

Query query = view.createQuery().setLimit(10).setDescending(false);
Make location return a relative URL

This is useful because otherwise we return a cblite:\... URL that nobody
will know how to process (and anyway isn't properly formed since it doesn't
have an authority). By instead returning a relative URL we let the receiver
get a legal path that they can use however they got here in the first
place. This is particularly useful with Listener since we support
multiple protocols and none of them are visible in Router. But the rules
for relative URLs are the same everywhere so by returning a relative
URL we create a useful value regardless of how we got here.
Merge pull request #123 from yaronyg/122

(#122) Make location return a relative URL
Fixes issue #54

https://github.com/couchbase/couchbase-lite-java-core/issues/54
Closes issue #3
Merge branch 'fix_issue_3'
Issue #137 - detect sync gateway server version

https://github.com/couchbase/couchbase-lite-android/issues/137
Closes issue #42

https://github.com/couchbase/couchbase-lite-java-core/issues/42
delete() database should remove all files/folder that were created

for now cb lite leaves: DB_NAME folder and DB_NAME.cblite-journal file
Issue #137 - do POST request to _changes when possible

https://github.com/couchbase/couchbase-lite-android/issues/137
Issue #137 - only set limit iff mode == long poll.  fixes unit test failures.

https://github.com/couchbase/couchbase-lite-android/issues/137
Issue #137 - fix the way that filterparams were treated

https://github.com/couchbase/couchbase-lite-android/issues/137
Merge branch 'refs/heads/master_102'
Closes Issue #128

https://github.com/couchbase/couchbase-lite-java-core/issues/128
Fixes issue #129

https://github.com/couchbase/couchbase-lite-java-core/issues/129
Issue #129 - convert to use AtomicInteger

https://github.com/couchbase/couchbase-lite-java-core/issues/129
Issue #10 - fix attempt

https://github.com/couchbase/couchbase-lite-android-liteserv/issues/10
Fixes Issue #243

https://github.com/couchbase/couchbase-lite-android/issues/243
Issue #243 - make more robust w/ respect to canonicalization

https://github.com/couchbase/couchbase-lite-android/issues/243
CBLT-252:  use env.vars: MAVEN_UPLOAD_USERNAME, MAVEN_UPLOAD_PASSWORD, MAVEN_UPLOAD_VERSION, MAVEN_UPLOAD_REPO_URL

Change-Id: I95b888fa4a834afb7b0e71dadfa32f094e872175