Handler timeout option

Handlers accept a `timeout` option in the constructor. If the handler
doesn't complete handling the log message within the time limit, the
promise will reject with a timeout error. Default timeout is 5 seconds.

fixes #3