noexcept def support

also make sure crazy windows.h does not overwrite min/max with a macro