* fix package.json: cannot use JS comments in JSON, `npm test` needs explicit node for test script (at least on Win, that is)
* refactor: no need to test for it being a function, that's implied by the other tests
+ fail: result of job.create(f) should call back f eventually when called with no arg
* pass: let's call the result of job.create(..) a job: job calls back f given to create if any, otherwise noop
* fail: job should pass a function argument to its wrapped function when called with no arg
* well, still fail: even if we now pass noop to a jobs wrapped fn we broke the test where the job is called with an arg (timeout, i.e. the arg is never called)
* fail: let's get real "red" before changing the implementation
* pass: that was easy, just have the job pass its arg to noop
* refactor one test: we can assert that it's called immediately which is less general but a simpler test
* refactor test: this one need not be async either, but we need to use a spy
+ fail: now require that the job passes on any arg it is called with to its wrapped fn
* fail: made new test pass but broke the other one where job is called with no arg
* again, let's have "real red" before fixing it
* pass: job passes on arg to its wrapped fn or noop if it was called with no arg
* refactor: arrange tests more nicely
+ fail: a job, whether it is wrapping a fn or not, should have a property 'then'
+ pass: let job have a property 'then'
+ fail: a job's 'then' property should be a function
* pass: make a job's .then a function
* refactor tests