WIP: saving workflow to a file

this is preliminary work to save a workflow to a file. a demo can be seen here:

http://nbviewer.ipython.org/urls/dl.dropbox.com/s/zjpzzxhdlst694u/savewf.ipynb

reasons:
- many workflows are getting complicated/hierarchical enough that people cannot edit or modify parameters easily in embedded workflows
- default workflows may change with versions, so saving the workflow in a file allows one to recreate the same specs used to run the workflow

Todo:

- [ ] save config and node configs
- [ ] test against as many workflows (possibly using testkraut) essentially the workflow and it's saved version should produce the same result on the same machine (subject to random number generators)
- [ ] interfaces that have positional arguments in `__init__` need to be cleaned up - in such interfaces an internal variable `_arg1` for positional argument `arg1` should hold the value of `arg1`.
- [ ] other file formats? (json, yaml?)