Tidy-up and new features:

* Write dags to files
* Don't write job nodes until writing the dag (so that you can adjust job
  parameters more easily)
* Splicing of sub-dags

Incompatible changes:

* myjob.vars(foo='bar') becomes myjob.set_vars(foo='bar') or
  myjob.vars['foo'] = 'bar'
* @job_vars(foo='bar') becomes @job_with(foo='bar')
* dag.maxjobs(foo=3) becomes dag.maxjobs['foo'] = 3