Adds a Credentials interface and unifies formatting across source files.

This change-set adds an interface named ```Credentials``` which is accepted by the ```Store``` constructor so that we may provide alternative means of storing credentials in the future, and developers may implement their own, precluding the need to store credentials in source code. The existing constructor which accepts username and API key is preserved.

I also unify the formatting and style across all source files, and correct a few typos from my previous PR.