Implement support for SHA256 hashed salted passwords. Fixes #13.

When an authentication is done, both the plaintext password and the hashed password is checked. If either of them is correct, authentication finishes succesfully. Furthermore, if the plaintext password is set, it is salted and hashed and re-stored, and the original plaintext password is removed.