Add support for main command options before running the subcommand

Changed RunArgs to RunOpts, which provides additional options
like a struct with the main command options and an optional
callback.