Add CATCH_NOEXCEPT macro and replace dynamic exception specifications

This commit:
- adds a CATCH_NOEXCEPT macro, and 
- replaces dynamic exception specifications with it,

since dynamic exception specifications are deprecated in C++ >= 11.