refactor args parsing code: keep everything about each subcommand in its own file, and use the go-flags Command.Execute() interface to disbatch subcommands instead of peering into the os.Args slice again.