Fix shell operation with --os-auth-token

Currently the --os-auth-token/env[OS_AUTH_TOKEN] case doesn't
work, as we always expect a username/password to create the
connection to keystone.  This enables the client to be used
with only a token and tenant (which is required for keystoneclient
to retrieve the catalog) specified, e.g:

heat --os-auth-url http://127.0.0.1:35357/v2.0/ \
     --os-auth-token <a keystone token> \
     --os-tenant-id <tenant ID> stack-list

Change-Id: I478ce178f44e42c68153f1b347c6144f0a133f5b
Partial-Bug: #1252248
Merge "Fix shell operation with --os-auth-token"