Cherry-pick upstream r255738

Make noexcept specifications on __hash_table definitions match their declarations.

Fixes build with clang 8.0

Bug: 868204
Change-Id: I85bd52c4f2ce3ca060964cdf9a9195006af68a17
diff --git a/include/__hash_table b/include/__hash_table
index 7c954b6..6c09ad3 100644
--- a/include/__hash_table
+++ b/include/__hash_table
@@ -1166,6 +1166,7 @@
     _NOEXCEPT_(
         is_nothrow_default_constructible<__bucket_list>::value &&
         is_nothrow_default_constructible<__first_node>::value &&
+        is_nothrow_default_constructible<__node_allocator>::value &&
         is_nothrow_default_constructible<hasher>::value &&
         is_nothrow_default_constructible<key_equal>::value)
     : __p2_(0),
@@ -1234,6 +1235,7 @@
         _NOEXCEPT_(
             is_nothrow_move_constructible<__bucket_list>::value &&
             is_nothrow_move_constructible<__first_node>::value &&
+            is_nothrow_move_constructible<__node_allocator>::value &&
             is_nothrow_move_constructible<hasher>::value &&
             is_nothrow_move_constructible<key_equal>::value)
     : __bucket_list_(_VSTD::move(__u.__bucket_list_)),