Add the ability to input options interactively using shared validation with
non-interactive mode.  This involves putting each input check into its own
validation function that can then be called during interactive input as well
as its original non-interactive location.

Output error messages with 'Error' in red for better visibility.

Add a check to ensure archive directory is empty if it exists.

Include the destruction of the archive directory in the 'destroy' action of
the tool script.  Also output notification of the destruction of the tool
script itself.

Add prerequisite command check at beginning of script to ensure that all the
required commands are available prior to any further actions.

Add configurable default variables at the beginning of the script to allow
customisation.

Fix typo with settings summary: 'flie' to 'file'