Tell GCC/Clang to build in C++11 mode

The [override](http://en.cppreference.com/w/cpp/language/override)
specifier is a C++11 feature.

Some compilers (like GCC and Clang) build in C++03 mode by default, and
you must explicitly tell them to build in C++11 mode.

The easiest way to do this is to use `CMAKE_CXX_COMPILER_ID` for detecting
the compiler, and `add_compile_options` for passing the correct
options to it.

These features require CMake 2.8.12, so we set the minimum required CMake
version to it.