Expose connection pool timeout

Declared ConnPoolTimeout as an exportable variable. This will enable the
programs that use this client to set it to a value that is
required. Programs that use this can also perform some actions upon
getting the timeout. Proposed workaround for the problem specified
in cbugg [bug-774](http://cbugg.hq.couchbase.com/bug/bug-774).

Whenever, HttpClient is used to make requests, timeout can be specified
by setting HttpClient to a custom http.Client as mentioned
in [this StackOverflow question](http://stackoverflow.com/a/16895878/1043536)
Better HTTP error messages

Instead of just failing to parse JSON on a bad HTTP response, we say we
got a bad HTTP response.

cbugg: bug-786
Return more errors in more broken places

There are cases where an error is detected, but not returned (often due
to auth failure).

cbugg: bug-786
Added a more basic basic example
Include auth on all HTTP requests

cbugg: close bug-786