XD-2228 - Prompt for password if no value is provided in the command line

* If there is no value provided for the `--password` parameter, the shell will prompt the user to type one, avoiding its display in cleartext on both screen and log;
* UserInput has been refactored, by renaming the original `prompt` method to `promptWithOptions`, and introducing a `prompt` method for freeform input`
* Added tests simulating user input