c-hyper: fix a memory leak in `Curl_http`.

A request created with `hyper_request_new` must be consumed by either
`hyper_clientconn_send` or `hyper_request_free`.

This is not terrifically clear from the hyper docs --
`hyper_request_free` is documented only with "Free an HTTP request if
not going to send it on a client" -- but a perusal of the hyper code
confirms it.

This commit adds a `hyper_request_free` to the `error:` path in
`Curl_http` so that the request is consumed when an error occurs after
the request is created but before it is sent.

Fixes the first memory leak reported by Valgrind in #10803.

Closes #11729
diff --git a/lib/c-hyper.c b/lib/c-hyper.c
index 18d9206..ebb8856 100644
--- a/lib/c-hyper.c
+++ b/lib/c-hyper.c
@@ -1208,6 +1208,7 @@
     result = CURLE_OUT_OF_MEMORY;
     goto error;
   }
+  req = NULL;
 
   if(HYPERE_OK != hyper_executor_push(h->exec, sendtask)) {
     failf(data, "Couldn't hyper_executor_push the send");
@@ -1244,6 +1245,9 @@
   if(handshake)
     hyper_task_free(handshake);
 
+  if(req)
+    hyper_request_free(req);
+
   return result;
 }