Implement collection interfaces
Fix heredoc/nowdoc bugs with large docs, docs crossing buffer boundaries

Fixed a few issues in the lexer for heredocs and nowdocs. The source file is read in 64k chunks, and any time a doc was split across a buffer boundary the lexer would fail to consume the doc properly. Modified the lexer to refill the file buffer when it is used, or when more data is needed in a variety of cases. Also fixed a number of other corner cases where we'd fail to recognize the doc end label or other special characters. The old code was also a bit over- and under-flowy.
Fix an assertion in traceRet, relating to generator frames

This was firing in my sandbox.  I didn't find anything that
looked like it changed it recently, so I'm not sure why it wasn't
firing earlier.
Introduce more helpers like Type::isArray.

class Type had methods isArray and isNull, but not methods like isBoolean. This change introduces helpers for the other types that frequently need to be tested for in type specialization code. The change is kept small so that is is obviously correct and easy to push quickly. Making all type tests consistent will have to be achieved incrementally.
allow zend importer to run without zend directory

Most people won't have a full zend checkout, but I expect people to want to import zend tests. That's the whole point of having them checked in to the bad directory. Now you just do

  python tools/import_zend_test.py

and it will run all the bad tests and move the working ones to the good directory. The old way of doing it is now

  python tools/import_zend_test.py -z /tmp/php-5.4.11/

and if you don't want to re-run the binary (way faster) just do

  python tools/import_zend_test.py -n
Add a test case for the scope of a closure generator
fix test zend_import_test
Remove m_fpiStack

It doesn't appear possible to get a Func this way that we didn't
already have from static analysis.
Fix FPushClsMethodD in hhir

Non-persistent classes can't be burnt in (or at least,
you have to check the target cache before using it).
disallow Variant(TypedValue*) constructor

I was being dumb and hit this bug. Never again shall someone have this problem.
SpillStack of an ActRec is a use of the old fp

A bug like this was bound to happen.  Thanks to whoever added
the assert for saving me from real debugging (@smith?).
Fix a bug with boxed static/counted types

When we box things, we need to forget whether we knew it was
static or not because we don't track when that might change.
Fix CreateCont for HHIR
Emit UnsetProp in VectorTranslator

I added this punt as a correctness fix while implementing
UnsetElem. It does show up as ~6% of remaining punts and it's easy to
do, so here it is.
Do away with DumpIR.

DumpIR inconsistently interacted with the trace facility.
Move it to the hhir trace module. Compress a bunch of copy-pasta.