Use std::runtime_exception instead of std::exception

GCC 4.4 don't support noexcept keyword so exception::what function
has different keywords in 4.4 and newer versions
Introduce c++config.hpp

This file contains usefull definitions for detecting copmiler support