Add support for Client Credentials grant type

See

* http://tools.ietf.org/html/rfc6749#section-4.4 (Client Credentials)
* http://tools.ietf.org/html/rfc6749#section-2.3 (client authentication methods)

This PR only includes support for request-body parameter client authentication, not HTTP Basic. This latter will be addressed in a future PR.