Inherit from error_category instead of _do_message.

There is no std::_do_message and these classes override message anyway.