Use an ST-style phantom types to prevent values from leaking from the ClangApp monad
Fix const-related warnings
Make Diagnostics safe
Remove LLVM 3.4-only functions