Provide an AuthProvider skeleton in libphutil
Summary: Ref T1536. One of the major issues with authentication today is the tight coupling between provider APIs (e.g., how you figure out a user's account ID) and Phabricator-specific configuration (like whether a specific provider is enabled or not). To remedy this, I'm splitting auth providers apart into libphutil -- they have the provider-specific code which knows the OAuth/LDAP/OpenID protocols. The configuration and policy code will layer on top of them intead of being part-and-parcel.
Test Plan: Static only; this code is not reachable.
Reviewers: btrahan, chad, rezanachmad
Reviewed By: chad
CC: aran
Maniphest Tasks: T1536
Differential Revision: https://secure.phabricator.com/D6155