Port leaks.
Code cleanup
Replace the MachException thread by a dispatch source.
This greatly simplify the exception thread logic as we no longer need to interleave SB watchdog timer logic and exception handling logic. There are now handled by 2 distincts dispatch sources.

Moreover is remove the need of pthread_cancel which is a very bad idea in C++ as destructors are not called when a thread is canceled (and so the SBWatchDog was leaking).
override.
Fix a bunch of memory leaks.
Work on arm register set.
Continue work on extracting x86 regno into separate headers than can be reused by other classes.
Update Darwin Register Context and ABI plugins to use the headers instead of redeclaring the regno.