Changed Op.compare_upper => Op.compare_lower to fix flang build.
Added Flang specific tablegen.

This tablegen backend was created by slicing and dicing the clang tablegen.
Added workaround for APFloat interface change.

I will eventually add something like this to APFloat in llvm. But for hacking
purposes I am just going to leave the function here for now.
Found another usage of compare_upper which I changed to compiler_lower.
Fixed incompatibility in DeclSpec.cpp with new clang tablegen.
Implemented a CMake build chain for Flang.