Piece number two contains the header, a bunch of "add a new header" changes, and LIT config to grok tests that need concepts (Thanks to @EricWF's similar handling for coroutines which I copied shamelessly).
No tests yet, but fear not - there are 10 pieces yet to come ;)
I've just realized I failed to update <version> with the feature test macro value. Does libc++ have a plan yet for how to handle the feature test macros? Should I #define it in <version> and include that here?
I suspect we should rename __config to <version> and define all feature test macros therein.