Add gdb pretty printers for a wide variety of libc++ data structures (take 2).
This patch is an exact duplicate of https://reviews.llvm.org/D65609, except
that it uses the newly introduced testing framework to detect if gdb is present
so that the tests won't fail on machines without gdb.
Reviewers: echristo, EricWF
Subscribers: christof, ldionne, llvm-commits
Differential Revision: https://reviews.llvm.org/D67238