better SEH handling

Trying to get the ball rolling on #5398

> we need to convert the upper case constants...

done

>Also, the handling of the in_ctx flag of _exception_handler should be slightly less of a special case, only affecting whether it creates a backtrace

included, but not sure if I correctly understood what you meant.

> Currently we call setjmp to avoid this return value. Instead use throw in context (& remove some code duplication)

iffy on this... I think it this should be !mingw? I'm not setup to build MSVC yet, if so.

@vtjnash