Simplify BuildImpersonationRequestJson
Add the CloudIdentityProvider.TokenCache property
Add the CloudIdentityProvider.UrlBase property
Mark provider interface implementation methods as virtual
Include the base URL in the token cache key, so multiple cloud instances can be used simultaneously with the same username
Merge pull request #225 from sharwell/IdentityProviderExtensibility

Identity provider extensibility