cli: add cli subcommand package

Based on the rocket subcommand handling code with some tweaks:
 - Use the default flag set so global flags work normally.
 - Allow global flags both before and after the subcommand.
 - Generalize a little so multiple cli utilities can be implemented.
plume: add new release utility
plume: convert gsindex into a plume subcommand