Refactor config module to not depend on session

All you really need to load a config file is the filename.
Add shared credential provider
Refactored credentials to not depend on session

This also removes __init__ from the interface of a credential
provider and removes a default list of providers from the
credential chain provider.  Instead, that logic has been
moved to the create_credential_resolver factory function.
Remove creds from session vars
Let cred providers load config files
Refactor config variable loading into separate module

This allows it to be extensible and moves more of the logic
out of the session.
Remove config var refactoring

Not quite right.  This puts back the original variable resolution
functionality.
Merge branch 'creds-file' into develop

* creds-file:
  Remove config var refactoring
  Refactor config variable loading into separate module
  Let cred providers load config files
  Remove creds from session vars
  Refactored credentials to not depend on session
  Add shared credential provider
  Refactor config module to not depend on session