Remove hphp_get_iterator and related dead code

This code is no longer used, let's get rid of it.
Reduce repo contention issues

If there were multiple processes (or threads) trying to write to
the repo, we were spending a lot of time in raw_spin_lock, resulting
in almost no forward progress. The new test case runs in about 8
seconds on my dev server, with a debug build, but didnt complete in
20 minutes when using the current release build of hhvm.

I also removed the 20 thread limit on the test runner, which
drops the time for SlowJit from about 1:45 to 1:30, and should
no longer cause repo-contention issues.
Close the file handle after finding a section

The code to find an elf section in the binary left the
binary open.
Remove deprecated WaitableWaitHandle::getStackTrace()

WaitableWaitHandle::getStackTrace() is not used anymore. The stack trace
is computed on the PHP side using the provided reflection API.
Add support for external thread events

Add support for external thread events.

See asio_external_thread_event.h for details about usage.

This is the first version that compiled, the code was not executed even
once, but wanted to get it out early to unblock @hannesr. Thus the [RFC]
flag.

My next step is to implement asio-compatible equivalent of
fb_call_user_func_async() that will make it possible to easily test the
new functonality by simulating async stuff with sleep(), etc. on the PHP
side.

There are 2 major mostly lockless synchronization points that needs
careful review:

- queue of ready external thread events (asio_session.{cpp.h})
- shutdown cleanup (asio_external_thread_event.{cpp,h})
Eliminate unnecessary and unawesome instances of dynamic_cast<HphpArray*>

There are two dynamic_cast<HphpArray*> instances in bytecode.cpp that cause code to fail when using other types of arrays. However, the necessity of those casts seems to have disappeared in the meantime because simply removing them compiles and runs. I have ran full 'fbmake runtests' after removing the first cast (all passed). Then I removed the second cast (in lexical order) and ran the tests again. This time test/zend/good/ext-hash/hash_file_basic.php failed, but when I ran it again in separation it passed.
Undo systemlib change

Put systemlib in the repo again, and use it for repo-authoritative builds