Allow methods to be used as introspected commands

This involves skipping the first argument when creating a command
from a method.

The second patch here refactors analyzing a function, moving it to Command()'s __init__ code.
The intended usage is introspection, i.e. along the lines of

class my_app():
    def cmd_fubar(self,hello="Joe"):
	    pass
	def init_manager(self,mgr):
	    for fname in dir(self):
			if fname.startswith("cmd_"):
				cmd = Command(getattr(self,fname))
				mgr.add_command(fname[4:],cmd)