Management of RFC6749 errors

This pull request includes some fixes about management of rfc6749 errors:

- First, check duplicate parameters
- Missing parameter is invalid_request error according to rfc6749
- mismatching_redirect_uri, missing_redirect_uri,invalid_redirect_uri are not defined in rfc6749 or OAuth Extensions Error Registry
- Check if response_type is present with a valid value according to rfc6749, then check if client is authorized
I have just replaced invalid_client_id errors with fatal invalid_request and description.