Merge pull request #3 from rleigh-codelibre/c++98-fixes

C++98 support and fixes

These changes drop most of the macros used for pre-standard (pre-C++98) compiler support.  Compiling now requires a C++98 compiler with support for namespaces, standard library etc.

Support for Microsoft Visual C++ 7.0 and earlier is dropped with these changes, along with other pre-Standard compilers.