Client should validate the incoming host value

Convert host:port and URLs passed to client.New() into the proper
values, and return an error if the value is invalid.  Change CLI
to return an error if -master is invalid.  Remove Client.rawRequest
which was not referenced, and fix the involved tests.

Preserves the behavior of the client to not auth when a non-https
URL is passed (although in the future this should be corrected).