Add a new base parser class 'CustomOptionParser' that provides the
'insert_option_group(idx, *, **)' method for inserting an option group
at a specific position.
Rework the way commands are defined, loaded and ran in pip:
- Commands are instantiated on demand in pip.main().
- A command 'registry' - mapping of command names to command classes in
pip.commands.__init__.
- Remove deferred command module loading.