Added an interface to clangFormat.
ClangFormat integration checks for errors
Integrated clang-format overhauled auto formatting and indenting

Now used clang format to format code, and will automatically format
functions when you close with a bracket. Auto indentation is also much
better now.