[libc++] Implement LWG 3158

Summary:
LWG 3158 marks the allocator_arg_t constructor of std::tuple as
conditionnally explicit based on whether the default constructors
of the tuple's members are explicitly default constructible.

Reviewers: EricWF, mclow.lists

Subscribers: christof, jkorous, dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D65232

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@372778 91177308-0d34-0410-b5e6-96231b3b80d8
5 files changed