Support for provided username/password credentials
Adds support to authenticate using provided username/password credentials through the new PasswordCredential
class.
The class structure relating to credentials has been changed to support this, however, that introduced a breaking change in the code.