fix(util): properly handle exceptions from onPrepare and onExit

p.s. the important bit is in `runFilenameOrFn_` in `util.js`
OK- I suppose if someone did something odd like `module.exports = 'myString'` it would fail silently but that seems like a pretty obscure case. Fine the way it is by me.