EZC: fix crash due to EG(exception) being transmitted between requests

When an exception was thrown from EZC, EG(exception) was left holding a
reference to the smart-allocated exception object, even after the end of
the request. At the end of the request, the object storage was freed by
resetAllocator(), then when zend_wrap_func() was entered in the next
request, EG(exception) would be freed again, causing a crash.

Fixed by installing request event handlers. The requestInit() handler is
analogous to Zend's init_executor().
According to @ptarjan, the headers in php-src are meant to be identical to the ones from PHP except for a minimal number of "#ifdef HHVM" sections. It would be a bit weird to try to morph PHP's include order policy into HHVM's by means of #ifdef sections. A quick survey suggests it's normal for Zend headers to depend on being included after zend.h.