Further plugin creation improvements

Commands can be bound to the plugin, no need to make the commands table
directly. Also, the default cleanup will remove these commands on plugin
disable, and can be called in a custom cleanup with
self.BaseClass.Cleanup( self ).