On Python 3, invoking `pubs` would display a stacktrace, because
the subparser was not required.
This commit also simplifies the parser code by using .set_default()
to specify which command should be run.
This prompted changes in the plugin code. The code is still not
functioning, but many fixes in this commit bring the code closer
to a working state.