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.
Side note: you don't gain that much be randomizing the size of the salt.