Use new BoringSSL scopers in //crypto

Forward-declare with openssl/base.h which generally works nicer.
However this does require we take better care around public_deps
and some IWYU errors had to be fixed.

BUG=none
[email protected]

Review-Url: https://codereview.chromium.org/2332473002
Cr-Commit-Position: refs/heads/master@{#422260}
diff --git a/crypto/signature_creator.cc b/crypto/signature_creator.cc
index bb4019e..95423d4 100644
--- a/crypto/signature_creator.cc
+++ b/crypto/signature_creator.cc
@@ -12,7 +12,6 @@
 #include "base/logging.h"
 #include "crypto/openssl_util.h"
 #include "crypto/rsa_private_key.h"
-#include "crypto/scoped_openssl_types.h"
 
 namespace crypto {
 
@@ -68,7 +67,7 @@
                             const uint8_t* data,
                             int data_len,
                             std::vector<uint8_t>* signature) {
-  ScopedRSA rsa_key(EVP_PKEY_get1_RSA(key->key()));
+  bssl::UniquePtr<RSA> rsa_key(EVP_PKEY_get1_RSA(key->key()));
   if (!rsa_key)
     return false;
   signature->resize(RSA_size(rsa_key.get()));