Code includes work by Doug Gregor (cleaned by me) and some little parts by myself.
We adhered to @Brecht Van Lommel (brecht) 's design as best we could.
This patch lacks scons support and is only tested with gcc and llvm on mac and linux
@Brecht Van Lommel (brecht) : I have removed the code touching the UI as we discussed on IRC last week