First attempt at fixing MacOS Exceptions.   ...

NOT READY FOR MERGE

@deadalnix Pointer math is causing me some issues.   Can you take a look?  Do we need to implement some additional things in libd-llvm?
It is not global, it is thread local, and it is literally impossible that the same thread is unwinding several expection at the same time.