Add support for top-level version flag

This also simplifies the check for whether a command exists.
Make top-level syntax help more accurate

The remaining manpage fixes will come later