Add test coverage to credentials file

Cleaned up the code a bit before making feature changes.
The configure command writes out cred vars to shared credentials file

Fixes #847.  The change is implemented as specified in the issue:

* Anytime you set credential variables (access_key/secret_key/session_token)
  using the `configure` command or the `configure set` command, the
  values are always written to `~/.aws/credentials`.
* Getting access_key/secret_key/session_token will look in the
  shared credentials file first before looking in the CLI config file.

This does *not* do anything with automatically migrating over to the
shared credentials file, that is, if you have credentials in the CLI
config file and you run `aws configure` and hit enter 4 times, we
will not write out values to the shared credentials file because
there are no new values to write out.
Incorporate review feedback.
Add issue #847 to the changelog
Merge branch 'creds-file-default' into develop

* creds-file-default:
  Add issue #847 to the changelog
  Incorporate review feedback.
  The configure command writes out cred vars to shared credentials file
  Add test coverage to credentials file
Errors and warnings are printed to stderr.