Enable use with clang 3.0.0+ as well as gcc.

- Don't explicitly link to libgcov, gcc will do this automatically anyway. And with clang it should be libprofile_rt instead. This would cause a linker error with clang.

- Adding compiler switches using ADD_DEFINITIONS is incorrect and might cause incorrect behaviour: http://www.cmake.org/Bug/view.php?id=12871#c28234
  I added a note about setting CMAKE_*_FLAGS in the CMakeLists.txt, this is more explicit as well.

- Added some additional usage instructions.