Add missing __all__ variable

Restrict names which are imported by 'import *' using a __all__
variable.
Stop unwrapping on presence of __signature__

Stop unwrapping a decorated function when a function with a
__signature__ attribute is encountered.
Factor out base class for decorator classes

Extract out a base class for command line extension objects that can be
used to create other function decorator classes.
Add start method to decorated main functions

Fixes #5 by adding a method to decorated functions that causes the
command line to be processed and the main function called.