I see. When `dust.log` throws again inside stream, it goes to the parent of `nexttick` which is global and won't ever end up in the try/catch around `stream`. We should remove `dust.log` for errors caught in `stream`.  

That said, we need to provide a way for people to catch errors thrown in templates from `throw` or from `dust.log('error', 'ERROR')`. We only have a method for `chunk.setError` errors --- which is not working -- a bug.

ideas:
  * `dust.stream().on('data', dataFn).on('exception', exceptionFn)`    -   change `dust.log` in the stream catch to `stream.emit('exception')` and by default the exceptionhandler will throw (for back compat). Users will be able to override this function.