This change fixes data formatters for libstdc++ 6.0.21:
- Adds std::string data formatter support in C++ (rather than Python) for 6.0.21+.
- Uses std::list count field support when present.
- Fixes std container and std::string failing tests on Ubuntu 15.10 x86_64.
- Fixes what looks like a broken compilation on TOT which assumes libc++ is used but doesn't guarantee it, then uses libc++ details, which breaks when compiling with libstdc++. (The test would later figure it out, but only after the failing build step). Modified the using of libc++ to define a LLDB_USING_LIBCPP flag when we're really compiling with it, and conditionally compile the libc++-specific code so it doesn't break when built with libstdc++.
Anybody on the Linux/BSD side, feel free to review.
This has been tested on Ubuntu 14.04 x86_64 (with libstdc++ 6.0.20) and Ubuntu 15.10 x86_64 (with libstdc++ 6.0.21). Both built using clang-3.6 and using clang-3.6 inferiors.