Implement timeout in `index.js`.

Implement timeout in `index.js` and reset when an asserition is called,
or when the test progresses from harness, to cleanup, to test, to
cleanup.

Rewrite the `execute` function in `t/executable/proof.t.js` to accept
the result of a call to `spawn` instead of calling `spawn` itself. This
allows the execute tests to specify options, without having to sort out
the options and parameters in the `execute` helper.

Closes #140.