Adding a macro for switching between C++98 throw() and C++11 noexcept
silencing warnings on clang
cleanups + doxygen style file description