Add HTTP request parsing.

This extends the existing http parser to support requests as well as responses.

httpcli continues to exist and work as it has previously, though in the new
directory src/core/http (to reflect the fact the directory now contains code
relevant to parsing requests, which httpcli would not generally involve itself
in).
diff --git a/src/core/security/credentials.h b/src/core/security/credentials.h
index 133aa9d..afac7a5 100644
--- a/src/core/security/credentials.h
+++ b/src/core/security/credentials.h
@@ -39,11 +39,12 @@
 #include <grpc/grpc_security.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/httpcli/httpcli.h"
+#include "src/core/http/httpcli.h"
+#include "src/core/http/parser.h"
 #include "src/core/security/json_token.h"
 #include "src/core/security/security_connector.h"
 
-struct grpc_httpcli_response;
+struct grpc_http_response;
 
 /* --- Constants. --- */
 
@@ -207,7 +208,7 @@
 /* Exposed for testing only. */
 grpc_credentials_status
 grpc_oauth2_token_fetcher_credentials_parse_server_response(
-    const struct grpc_httpcli_response *response,
+    const struct grpc_http_response *response,
     grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime);
 
 void grpc_flush_cached_google_default_credentials(void);