Fix the build on clang-11

Clang tidy 11 got some really neat checks that do a much better job.
Unfortunately, this, combined with the change in how std::executors has
defined how callbacks should work differently in the past, which we
picked up in 1.73, and now in theory we have recursion in a bunch of our
IO loops that we have to break manually.  In practice, this is unlikely
to matter, as there's almost a 0% chance that we go through N thousand
requests without ever starving the IO buffer.

Other changes to make this build include:
1. Adding inline on the appropriate places where declared in a header.
2. Removing an Openssl call that did nothing, as the result was
immediately overwritten.
3. Declaring the subproject dependencies as system dependencies, which
silences the clang-tidy checks for those projects.

Tested:
Code builds again, clang-tidy passes

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ic11b1002408e8ac19a17a955e9477cac6e0d7504
diff --git a/.clang-tidy b/.clang-tidy
index 3b34c55..0122e24 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -36,7 +36,7 @@
 bugprone-string-integer-assignment,
 bugprone-string-literal-with-embedded-nul,
 bugprone-suspicious-enum-usage,
-bugprone-suspicious-include,
+#bugprone-suspicious-include,
 bugprone-suspicious-memset-usage,
 bugprone-suspicious-missing-comma,
 bugprone-suspicious-semicolon,
@@ -190,7 +190,7 @@
 clang-analyzer-webkit.NoUncountedMemberChecker,
 clang-analyzer-webkit.RefCntblBaseVirtualDtor,
 misc-misplaced-const,
-misc-no-recursion,
+#misc-no-recursion,
 misc-redundant-expression,
 misc-static-assert,
 misc-throw-by-value-catch-by-reference,