Client Credentials: add support for the grant_type

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