CCBC-443: Add URI/Connection String feature

This implements the common bootstrap URI (or DSN) feature which allows
specifying the connection settings inside a URI-like string, rather than
using designated struct fields. See the referenced CCBC (and the
referenced document therein) for more information on the general format.

Some libcouchbase-specific notes:

- SSL is configurable only via the URI or the environment. It is no
  longer to modify its settings via lcb_cntl()

- You may specify a list of arbitrary options to the URI and they shall
  be processed by lcb_cntl() at the end of instantiation. Some options
  may be processed earlier depending on what they do.

- A new lcb_create_st field has been added ('v3'). This removes the
  'host', 'mchosts', 'bucket', and 'transports' fields - which should currently
  only be specified via the URI. Older versions of the structure should
  still be supported. They are still not considered deprecated, however
  users are encouraged to switch to the new URI scheme.

Change-Id: I6cbb56d156ebcd9fb527b44d41dd0f9cd33b8f10
Reviewed-on: http://review.couchbase.org/37828
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>