Improve command-line handling

Fix some edge cases in Commander. As a side-effect, handling of `--help` is simplified, and we no longer need to check for having too few arguments, as this case automatically causes an error.