Abort when passwords cannot be read. Fixes #957.

See pull request for more information on how 957 was solved, what one
should note after this PR, along with constraints and untested
functionality.