-Added support for prebuilt projects using @csbuild.prebuilt - these fit into the project hierarchy and take all the normal things a project can take, but are considered to always be Up-To-Date and are never built.
These are used for referencing prebuilt third-party libraries.
-Added support for shell projects using @csbuild.shellProject - these are a small variation on prebuilt in that they do not build, but they DO show up in generated IDE solutions, useful for things like projects that only contain headers or data files and never build, but need to be available for editing.
-Improved csbuild's cleanup process - it now keeps track of its running processes and if it receives SIGTERM or SIGINT, it will immediately kill all of those running processes, remove any files they were in the process of writing (to ensure no corrupt data is left on disk), and terminate the GUI. It also now exits with os._exit() rather than sys.exit(), as sys.exit() is equivalent to 'raise SystemExit()' and can be caught and have other unintended side effects. This will ensure a quick exit with no corrupt files left around, no compile processes still running, no detached GUI, and no file descriptors remaining locked on Windows.
-Fixed qtcreator projects not honoring c++11 support
-Moved library verification out of build and into _make(), and made failed library verification a non-clean exit (i.e., ensures GUI is terminated)
-Cleaned up some overly verbose logging that wasn't running previously due to the way SIGINT was being handled, but is now getting run again.