Fixes#2304
In some cases, the finished handler fired before the error handler, e.g.
when downloading a 500 error page that is sent as attachment:
HTTP/1.1 500 Internal Server Error
Content-Type: application/octet-stream
Content-Disposition: inline; filename="attachment.jpg"
here we downloaded 0 bytes, fired the finished handler and after that
fired the error handler because of the 500 - but the finished handler
had already set our reply to None (and displayed the error message).