Credential store

As discussed in #312 the credential store will be called when the
authentification is configured, but either username and password
references not existing environment variables or they are both empty
strings. The credential store is an XML file with source, username and
encrypted password. The password is encrypted with the .NET encryption API
on a user account API.
Correction from above: 'save the valueS, each beside the encrypted value'. Part of the reason this is good is so that you can't generate a full rainbow-table equivalent for a single entropy value; as if such a table is generated, the entropy is of no use (it's a constant then)