Fix a boatload of #includes

Most of these missing includes were found by running clang-tidy on all
files, including headers.  The existing scripts just run clang-tidy on
source files, which doesn't catch most of these.

Tested: Code compiles

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ic741fbb2cc9e5e92955fd5a1b778a482830e80e8
diff --git a/include/ssl_key_handler.hpp b/include/ssl_key_handler.hpp
index c6ceb83..73d0b83 100644
--- a/include/ssl_key_handler.hpp
+++ b/include/ssl_key_handler.hpp
@@ -1,5 +1,8 @@
 #pragma once
 
+#include "logging.hpp"
+#include "random.hpp"
+
 #include <openssl/bio.h>
 #include <openssl/dh.h>
 #include <openssl/dsa.h>
@@ -11,9 +14,10 @@
 #include <openssl/ssl.h>
 
 #include <boost/asio/ssl/context.hpp>
-#include <random.hpp>
 
+#include <optional>
 #include <random>
+#include <string>
 
 namespace ensuressl
 {