Add new error_cb for actual reporting of HTTP request errors.

It is useful to know why you callback called with NULL (i.e. it failed),
for example if you set max_body with evhttp_connection_set_max_body_size()
you must know that it failed because of body was longer than this size.

 (Commit message tweaked by Nick)
Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test()
Drop extra header http_struct.h from regress_http.c
Merge branch '21_http_error_cb_squashed'