Added a class to handle parsing of command line arguments. The built in 'getopts()' function is not always available and can be flaky.
Code cleanup. Better error handling. Now captures missing/invalid arguments correctly.
Fixed some error handling code. Added CLIArgs class to the main Shell class
Updated to version 1.0. Check readme for changes