Optional timeout callback with request

This would allow calling req.abort() if needed or any other handling the
consumer needs.