Merged in Tyler's detach changes related to whitelisting, and modified the user space detaching stuff so that now only the allocators actually detach in user space. Perhaps another thing to detach on might be dynamic linker stuff.
Updated the user space watchpoints code so that it redzone protection interacts more correctly with mangling of instructions that switch stacks. Next issue is figuring out why Python is running into an invalid opcode issue.
Changed how user space wrapping/detaching works (somewhat). Instead of being based on an ad-hoc dlsym based approach, it now scans /proc/<pid>/maps to get loaded modules, dlopens them, and tries to apply wrappers in each of them.
Added some compiler and loader flags for handling memcpy and memset. The main issue with watchpoint_null on python was related to xmm registers being clobbered by Granary because the compiler would synthesize a memset or memcpy as an optimization.