added ArcGIS Online provider

This adds a provider for authenticating with ArcGIS Online using a named user account using the [User logins via PHP, JSP, ASP.NET, and other server-based web apps](https://developers.arcgis.com/authentication/user-php-other.html) workflow. 

If you go to [developers.arcgis.com](https://developers.arcgis.com) and sign in you are able to create a new application to get the client Id and secret. You need a named user account to log in though, this is either an organizational account or a Portal for ArcGIS account.

Note that there is no state token passed so I had to set the `AuthenticationProperties` `RedirectUri` to the expected account controller callback method.