external/boringssl: Sync to 0e9138d2.

This includes the following changes:

https://boringssl.googlesource.com/boringssl/+log/aa24851515d6280aa1d6a8b1548fe74691df3136..0e9138d295cd556e830dc8b3be735e808680f4bd

This requires some build tweaks:

- trusty's rules.mk builds with BORINGSSL_NO_CXX to suppress the new C++
  scopers since they build their version of keymaster without the STL.

- BORINGSSL_ENABLE_RC4_TLS to temporarily keep RC4 in the TLS stack.

Change-Id: Ic688ec5779f649a4912b00fb2b55cba64fb07449
diff --git a/src/include/openssl/digest.h b/src/include/openssl/digest.h
index 6c5d6cf..ec62993 100644
--- a/src/include/openssl/digest.h
+++ b/src/include/openssl/digest.h
@@ -261,6 +261,23 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
+
+#if !defined(BORINGSSL_NO_CXX)
+extern "C++" {
+
+namespace bssl {
+
+BORINGSSL_MAKE_DELETER(EVP_MD_CTX, EVP_MD_CTX_destroy)
+
+using ScopedEVP_MD_CTX =
+    internal::StackAllocated<EVP_MD_CTX, int, EVP_MD_CTX_init,
+                             EVP_MD_CTX_cleanup>;
+
+}  // namespace bssl
+
+}  // extern C++
+#endif
+
 #endif
 
 #define DIGEST_R_INPUT_NOT_INITIALIZED 100