Pull arg parsing into constructor and run()

This change simplifies all the clients and obviates
the need for a @staticmethod "helper" for creating
a default parser with the default options.