Use nullptr and override throughout the code

Modernize the code a little by using nullptr and override.

I've tested this on g++ 4.9.0, clang++ 3.4.1, and MSVC 2013 all with C++11 enabled and disabled.