This commit adds support for OAuth access token based credentials.

A notable distinction from other kinds of credentials is that OAuth credentials take an OAuthScopeRequirement argument for providing credentials, due to the inherently scoped nature of OAuth tokens.

This credentials library also adds support for DomainRequirement discovery via @RequiresDomain and the DomainRequirementProvider extension point.  This is predominantly to make it more practical to surface complex specification "options" to the user.

See DescribableDomainRequirementProvider for an example implementation of such a provider.
Beef up the README to be a little more useful