Emit error on aborted connection

Emit 'error' if connection is closed before request received fully.
This is in a way similar to #145, however here 'aborted' is handled as event (and callback if given will be called on error). Make sure 'end' is not emitted if 'error' already emitted (fixes #107) and vice versa, 'error' is not emitted after 'end' - this means if connection is aborted after request body is fully parsed, formidable would not complain.