Ask the user to enter a password with input hidden. prompt is a string to
display before the user's input. Returns the provided password, or an error
if the command failed.
FAsk is the same as Ask, except it is possible to specify the file to write
the prompt to. If 'nil' is passed as the writer, no prompt will be written.