Rework password handling
Add unit tests for basic password handlers
Add remaining password tests
Incorporate most feedback by @Ocramius
Add missing comments
Incorporate last feedback
Merge branch 'feature/password'
Close #1