Client Credentials: add support for the grant_type

needs some of the 1.6 updates in upstream, so its based on the `master-with-upstream` branch