Added the ability to pass a custom client ID in CloudCredentials.

This solves a problem where the client ID in the token passed in CloudCredentials at connection doesn't match the hard-coded client ID used when the token is refreshed.