Token based authentication in openstack-keystone

This PR adds support for token based authentication in openstack-keystone. 

Currently openstack-keystone only supports authentication against keystone service using only username and password credentials, using the following rest request 
```
{
    "auth": {
        "tenantName": "demo",
        "passwordCredentials": {
            "username": "demo",
            "password": "devstack"
        }
    }
}
```

This PR adds support for using token based authentication which is translated to the following request to keystone:
```
{
    "auth": {
        "tenantName": "demo",
        "token": {
            "id": "cbc36478b0bd8e67e89469c7749d4127"
        }
    }
}
```

In order to use this new authentication scheme one must override the CREDENTIAL_TYPE property and set it to the new value TOKEN_CREDENTIALS. Here's some sample code
```
            // get authtoken from authentication service
            Properties overrides = new Properties();
            overrides.put(CREDENTIAL_TYPE, TOKEN_CREDENTIALS);

            Set<Module> modules = ImmutableSet.<Module> of(
                    new org.jclouds.logging.slf4j.config.SLF4JLoggingModule(),
                    new org.jclouds.sshj.config.SshjSshClientModule()); 

            ComputeServiceContext computeServiceContext = ContextBuilder.newBuilder(provider)
                .endpoint(endpoint).credentials(tenant + ":" + username, authToken)
                .overrides(overrides)
                .modules(modules)
                .buildView(ComputeServiceContext.class);

```
All you have to do in this case, is instead of supplying a password as a second argument to the `credentials()` method, you supply an authentication token that you have previously acquired.

There is no need for the builder to be abstract if the Builder does not have more than one subclass. I'd remove the ConcreteBuilder and use the Builder directly, but this pattern is also used in the other existing credential types (worth removing this unnecessary pattern there too?).