Improved security for password storage by using PBKDF2-SHA1

Did a little refactoring
 - Removed some interfaces where we only will have one implementation
    -> Made methods virtual to enable stubbing/mocking
 - Create a secure hasher and a string hasher
    -> One is for strings (like API key) and one is for password