Allow the HTTPClient consumer to pass endpoint_type.

Changes the default behavior of the client.  It will now choose
publicURL by default rather than adminURL.

Now allows the consumer to pass adminURL, internalURL or some other
endpoint type when constructing a Client to override this default
behavior.

Adds --endpoint-type option to the shell client.  Defaults to the
environment variable OS_ENDPOINT_TYPE or publicURL.  This was
patterned after the same option in the Nova client.

Adds a new exception type to handle the case where a suitable endpoint
type is not found in the catalog.  Without this, the exception
encountered is a KeyError that was not clearly reported to the caller
of the quantum command line.

Change-Id: Iaffcaff291d433a605d8379dc89c1308096d36c2
Fixes: Bug #1176197
Merge "Allow the HTTPClient consumer to pass endpoint_type."