Check client's allowed grant types for authorize requests #111

Add checks for restricted grant type to Authorize Controller.
Means that clients need 'implicit' grant type to use implicit flow, and
clients that can't use auth code flow get bumped on the authorization step
not the token step.
Move checkRestrictedGrantType() to ClientInterface

Make more sense to have checkRestrictedGrantType in ClientInterface instead
of ClientCredentialsInterface as its not really anything to do with
'credentials'.

Revert AuthorizeController $clientStorage parameter to ClientInterface
Fixing OAuth2_ServerTest::testAddingResponseType

Make mock storage return TRUE for 'checkRestrictedGrantType'
Fix undefined index 'client_id' errors in OAuth2_Server_Authorize_* Tests
Merge pull request #112 from rjmackay/develop

**BC-BREAKING CHANGE** - moves `checkRestrictedGrantType` from `ClientCredentialsInterface` to `ClientCredentialsInterface`. See #111 and #112