Tidy up logging and add debug / quiet modes

Added a very simple logging and debug framework, adding two new command line options (`--debug` and `--quiet`) and two new methods in the Utils class (`debug` and `info`).

`--debug` will print all messages to STDERR, `--quiet` will print no messages whilst the default state is to print messages sent to the `info` method, but not to the `debug` method.

At startup, the Options.debug method is now called every time, although it uses the debug method to output the information and so will only appear when the `--debug` flag is used.

Also, the return value of an action is now only printed when it is not `nil`. The `edit` action has been modified to return `nil`.

Finally, I also tidied up the short options so those that are used frequently are explicitly provided.