Adding CMake build support for the KLL compiler

- Automatically downloads the kll compiler if not found
- Added capability files to each of the module that currently have them
- Split modules.cmake so kll.cmake could influence build targets (also needs info from modules.cmake)
- Updated .gitignore for kll compiler directory
- Added documentation on how to manipulate layouts using CMakeLists.txt
- Cleanup of old layout files