rbtools.commands.base now provide all the base command
classes, option processing, output handling, and errors. This cleans up
rbtools.commands module and gives us room for further expansion.
This work was planned for RBTools 4, but had to slip.
With the exception of the, well, exception classes, all classes use
housekeeping.ClassMovedMixin to point to the new class. We don't
bother subclassing the old exceptions because catching a subclass
wouldn't do any good. We can't easily deprecate those, for the
time-being, we'll leave them in, directly assigning from the new
The moved classes have not been modernized. Aside from imports and
version change information in the docstrings, no changes have been made
to any of the moved code.