Seperated the parser from invoked functions

I've been inspired by the structure of Essentia,
parser is now in cfgen, and calls cfcmd (configGen and
configCommand respectively), logically, commands
and their invocation now seperated, should make eventual
merges easier as well as adding functionality easier, I hope.

After yesterday's meeting, this seems like an odd choice...
I'm not going to finish anything else today, everything currently works
Datascience meeting Demo version

-new file cfcmdcomplete.py stores autocomplete/tabcomplete functions
specific to this project

-Cleaned up some of the functionality, added some nice tab completions.
branch switch time
Split off some subparsers for create
Merge branch 'cw'

Updating master to reflect current state of cfgen
Merge branch 'master' into mh
to get cw