cmake related changes. It's more or less just the style change. So pick up what you like. :)

* Add the toolchain files for building using gcc or llvm/clang.
  E.g.
  mkdir build
  cd build
  cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/llvm-toolchain.cmake -DCMAKE_INSTALL_PREFIX=install ..
  make install # install to build/install
* Some small changes to make both gcc and llvm build, although there are still some warnings in llvm.