Add interactive mode to prompt for any input arguments not supplied through other input sources
Order of input value precedence (from highest to lowest priority):
- Explicitly specified on the command line
- STDIN
- Environment variable
If for example, the user specifies --interactive/-i or perhaps does not specify --batch, and no password was provided as a command-line argument or from STDIN or from an environment variable, then we should present them with a prompt asking them to type in the password.
This should work for all input arguments; salt (optional), username and password. The TTY should be set to mask the input of the password from the user.