Change stack crawling to not be based on unwinding

We always want to crawl the entire stack, and it's
possible to determine the extents of the stack, so just
do a scan over the entire memory range.

Also, change the way the interpreter keeps track of its roots;
we don't really need to associate the roots with a specific
interpreter frame.

This should hopefully clear up the weirdness about libunwind
trying to unwind through the pthreads assembly code, and potentially
also make stack crawling faster.
Add safepoints, which for now are for GIL checking

Once the GRWL is added, will also be for GC safepoints.
make format
Proactively save the thread registers when calling AllowThreads

And then use that register info rather than sending a signal to the
thread; this lets the thread that called AllowThreads avoid receiving
signals ex during a syscall.

I'm not sure if this is valid though; are we really guaranteed that
the thread can't invalidate the saved state?
Start working on the GRWL (aka gil-rwlock)
Merge branch 'master' of github.com:dropbox/pyston into delattr
implementing del attribute