Utility method to create Guzzle Client, PSR-2 compliance for Grants

- I added PSR-2 compliance for grant names (AuthorizationCode vs. Authorizationcode).
- Implemented the client_credentials grant (self explanatory).
- I created a "getClient" utility method in IdentityProvider: This allows us to override the default Guzzle Client object adding additional headers or other options, or mocking the client requests (useful for unit tests). Specifically, I needed to modify the behavior for testing an OAuth2 client against a self-signed SSL endpoint:

```php
protected function getClient($url)
{
        $client = new GuzzleClient($url);
        $client->setDefaultOption('verify', false);
        return $client;
}
```