The libc-tidy utility will be used to implement static checks to ensure our implementation standards are met. It will contain checks that are too libc specific to be used with clang-tidy as they may interact with the build system or TableGen files.
This patch:
1) Creates a libc-tidy executable under the bin folder.
2) Adds a check to ensure that functions declared with the `LLVM_LIBC_ENTRYPOINT` macro are public libc functions. The ground truth for these function are derived from the TableGen files.
3) Adds the ability to use `LIBC-NOLINT` for special cases.
4) Adds regressions tests for libc-tidy checks.