pmb.commands: Use functions intead of classes for most commands
Most commands don't really do anything with the fact that they are classes other than just assigning their values as properties of the class. As such, we can simplify them by just having them be functions. This makes the code smaller and hopefully easier to understand.
I left some commands as classes for now since they either do some input validation in the constructor or define more methods than just run(), so they are less trivial to convert, but also may not really be desirable to convert anyway since they actually make use of being classes.
Also get rid of the Command base class since it isn't necessary any more with these changes.