Extract writing boilerplate into wstream.c module
Refactor job.c module to use WStream

After a job has accumulated 1mb of stdin data we assume that it's stuck and kill
it.
Stop job prepare watcher when there are no jobs

No need to check for job status when no jobs are running
Free job data on close_cb
Remove unnecessary cleanup label from `job_start`

The argument vector is now freed in the `close_cb` function in job.c