Replace Scoped* heap types with bssl::UniquePtr.

Unlike the Scoped* types, bssl::UniquePtr is available to C++ users, and
offered for a large variety of types.  The 'extern "C++"' trick is used
to make the C++ bits digestible to C callers that wrap header files in
'extern "C"'.

Change-Id: Ifbca4c2997d6628e33028c7d7620c72aff0f862e
Reviewed-on: https://boringssl-review.googlesource.com/10521
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/API-CONVENTIONS.md b/API-CONVENTIONS.md
index 1129600..6ede00d 100644
--- a/API-CONVENTIONS.md
+++ b/API-CONVENTIONS.md
@@ -85,8 +85,8 @@
 compatibility, these functions return `int`, but callers may assume they always
 successfully return one because reference counts use saturating arithmetic.
 
-C++ consumers are recommended to use `std:unique_ptr` with a custom deallocator
-to manage heap-allocated objects.
+C++ consumers are recommended to use `bssl::UniquePtr` to manage heap-allocated
+objects.
 
 
 ### Stack-allocated types