fixed bugs with Object.method, and added Object.has.
*TONNES* of refactoring for supporting custom nodes
more files for previous checkin ...

* commands is changed to commandsStore
* lots of new methods added to commands, for object described commands.
* all extensions now uses the commands description
* added a ast.GenericCommand node for implementing the generic commands.
* re-built all of the panel building code, so it's far more generic, and
data driven.