[RFC - v2] Ground truth for header generation and others

Hello all,

This is version 2 of my proposal from here:
http://lists.llvm.org/pipermail/libc-dev/2019-October/000003.html

As suggested by Petr Hosek, I have modified my proposal to use
tablegen instead of Python. I have also expanded the proposal based on
the roundtable discussion we had during the LLVM dev-meeting.

The high level idea of the proposal is still to use ground truth files
to generate:
1. Public header files - Public header files are always generated
based on the configuration of the target platform.
2. Documentation
3. Wrappers for platforms like CUDA and LTO.
4. As an optional extension generate redirectors (redirectors are
explained in https://reviews.llvm.org/D69020)

This overall proposal is captured in this diagram:
https://github.com/sivachandra/llvm-libc/blob/master/docs/header_gen_scheme.md

I also have a patch on phabricator with some docs explaining this
proposal: https://reviews.llvm.org/D69421

Thanks,
Siva Chandra