Added Scope Policy functionality
Fix test error

The requested scope is only "scope1"in this test, so the access token
only contains "scope1" and not "scope1 scope2" as before.
Fix test error
Function doc and tests

Function documentation modified according to Stof's coments.
Tests added.
Removed hardcoded policy values

Hardcoded policy values are now constants
New test added

Unknown scope policy test added
Merge remote-tracking branch 'upstream/master' into Default-scopes
invalid_scope_policy replaced by invalid_scope

invalid_scope_policy is not part of the RFC6749
Default policy is set as default config value
Fixes scopes missing using auth code

This commit fixes the issue and adds a new test.
Default socpes and policy handled by clients

* Clients can override the default scopes and scope policy defined by
the application
* Tests updated
Bug fixed

Policy of clients was not checked.
Test added
Code design

Code design changed using php-cs-fixer
Code design #2
Revert "Code design #2"

This reverts commit 7834e329b57c7fdfb97d9e6f23a4de9c5d36803d.
Revert "Code design"

This reverts commit 177f7c8a7574167c0c7f0ad88b4c020817ed6ca1.
Supoorted scopes defined by clients

Supported scopes can be defined by clients (eg: limitation depending on
the client type).
Merge remote-tracking branch 'upstream/master' into Default-scopes