Log helpful messages when keystone connection is misconfigured

Add new useHttps configuration to control whether to use https
when talking to keystone. Old way was based on port which doesn't
seem to give enough control

Add AdminAuthException to distinguish between failure to authenticate
the Admin User vs AuthException for authenticating the user token

Build request to authenticate admin user and password using json
instead of StringBuilder so it handles special characters correctly

Fix problem where it was not correctly parsing the token expiration
date so it always got a new one

Log auth failures for user tokens as Info, not Error

Change-Id: I8e97b505577783b6cb7ccdc018b59724408d9f6a