move all of the BaseCommand plumbing from the commands modules

added a base_command module for the declaration of the BaseCommand
class, it's __metaclass__ and the @pattern decorator