Add scope for Client and ClientCredentials grant

According to the OAuth2 RFC, the Client Credentials Grant has an optional "scope" attribute: http://tools.ietf.org/html/rfc6749#section-4.4.2

This pull request adds support for setting a scope on an Rack::OAuth2::Client, that in turn sets a scope in the Client  Credentials grant.

According to the RFC the scope is a whitespace-separated string, so the scope= method accepts an array and joins it with whitespaces.