JCBC-586: Descriptive exception types for bucket (auth) failures.

Motivation
----------
In addition to the generic CouchbaseException toplevel exception, more
detailed subclasses allow for more descriptive and narrow error handling.

Modifications
-------------
This change adds specific exceptions for invalid bucket names and passwords,
so that the user can apply custom logic to each of them (probably reporting
it differently, since in general they are non-transient).

Result
------
Easier error handling for the user.

Change-Id: I5c4415bbfcc639e5433c59b4a2fcd37f4e765f9d
Reviewed-on: http://review.couchbase.org/42121
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>