llvmbuildectomy - replace llvm-build by plain cmake
No longer rely on an external tool to build the llvm component layout.
Instead, leverage the existing add_llvm_componentlibrary cmake function and
introduce add_llvm_component_group to accurately describe component behavior.
These function store extra properties in the created targets. These properties
are processed once all components are defined to resolve library dependencies
and produce the header expected by llvm-config.
Differential Revision: https://reviews.llvm.org/D90848