Scope Separator and URL Encoding Type configurable in AbstractProvider

Added a configuration option for scope separator and query string encoding type to `AbstractProvider.php`, making it easier to write your own providers without overwriting `formatScopes()` and `buildAuthUrlFromBase()`.