refactor Commands to use a @pattern decorator on methods

instead of having one method to handle all cases based on the index
of successes and fails, handler methods are decorated with the
@pattern(<pattern to match>) decorator
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
fix the BaseCommand class and the pattern decorator
add unittests for BaseCommand
add unittests for callback dispatching
add another matching regex for call
change the syntax to match multiple patterns on the same handler