Migrate over to Waf build system

Advantages:
  - Support for MSVC (both from command line and IDE)
  - Support for Xcode project generation
  - Support for Eclipse project generation
  - Asynchronous builds by default (control with -j)
  - Caching by default
  - Asynchronously run tests (speeds execution)
  - I've added options to build with support for gcov and gprof
  - Easily specify debug options (not optimization yet) for gcc/clang/msvc
  - Ported acx_pthread.m4 to python (Not quite as robust, still works decently)
  - Much faster build times (even on my netbook)

Disadvantages:
  - Still a little bit buggy (It's a WIP)
  - No XFAIL support yet (This should be simple to add, have not done yet.)