Simplify build and installation.

- Remove waf in favour of CMake.
- Remove static builds.
- Remove custom allocator (no longer required in most cases).
- Do not build separate project for .c files.
Ignore /build directory.
Remove test from CMakeLists.txt.
Switched to using google gtest unit testing framework.
Subversion required for building gtest.
Update copyright year and remove all trailing whitespace.
Make all symbols visible.
Pass all Ptr (shared_ptr) arguments as const references.

- Big improvement in performance.
Pass boost::any arguments as const references.
Improved pre-compiled header support.
Fix compiler warnings.