Credential Provider Chain

This change adds support for a CredentialProviderChain.  This enables
a tiered lookup of credential locations.

[Complete #9]