Updated C++11 check macros; attempt to fix build issue on clang

The `error_category_impl` class constructor is now defaulted (where it is available). I updated the config.hpp to make the code easier to read when trying to use C++11 features that are not available on every compiler.