Print warnings when disabling write access

When the user has selected a verbose option, this seems like the kind of
thing they would be interested in.

Signed-off-by: Will Dyson <will.dyson@gmail.com>
Fail cleanly on volume open failure

When failing to open the volume (after read-only fallback), give an error
message and fail cleanly.

Signed-off-by: Will Dyson <will.dyson@gmail.com>
Fix crash when reading user password

In prompt_up, do not take a third level of reference to the string
pointer "up", since my_getpass does not dereference it before passing to
readline(). Crashes with glibc 2.17.

Signed-off-by: Will Dyson <will.dyson@gmail.com>
Initialize variable before use

In my_getpass, initialize "n" to zero before calling readline().
The linux manpages state that readline() will only allocate memory
for the input if *lineptr is NULL and *n is zero. In reality, it only
checks *lineptr, but let's play it safe.

Signed-off-by: Will Dyson <will.dyson@gmail.com>
Prompt for passwords not provided on commandline

When no password (user or recovery) is provided with the commandline
switch to use that password type, parse_args should still record that
the user wanted to use that type of key. This allows the program to prompt
for it later.

Signed-off-by: Will Dyson <will.dyson@gmail.com>