Added clang compiling support, fixed quite a few llvmlinux bugs