Let docskel generate code for ActRec

Let docskel generate code for functions with more than 5 arguments

Reviewed By: @sgolemon

Differential Revision: D1190765
remove --parse

this is the only unused command line option. There are some really dumb ones we should move out, but that is later.

Closes #1268

Reviewed By: @fredemmott

Differential Revision: D1214706
Initialize return array for Memcached::getServerList()

Array's empty constructor leaves it null.

Closes #2007

Reviewed By: @ptarjan

Differential Revision: D1215074
Make AppendIterator a subclass of IteratorIterator

They seem to have no sharable code, and nothing in common beyond the interface they both already implement, but php5 does this.

Fixes facebook/hhvm#1508

Reviewed By: @ptarjan

Differential Revision: D1215391
remove upstreamed hacks

I sent these upstream, so once that is merged we don't need these anymore.
successkid
https://github.com/php/php-src/pull/473

Reviewed By: @sgolemon

Differential Revision: D985565
Implement Imagick

Implement Imagick extension

Closes #954

Reviewed By: @ptarjan

Differential Revision: D1206819
Remove constant return value from prepareFuncEntry()

prepareFuncEntry() always returns true. Make it return void and inline
the true return value into all callers.

Reviewed By: @paroski

Differential Revision: D1212817
Eliminate m_entryFP from ExecutionContext::m_nestedVMs

ExecutionContext::m_nestedVMs is a vector of saved state of nested
VMs (excluding the one that is currently running). This state contains
firstAR field pointing to the ActRec the corresponding VM was entered
at. In addition, m_nestedVMs contains m_entryFP pointing to the ActRec
of the VM we entered into at the time the m_nestedVM record was created.
This is redundant to the firstAR field (the data are shifted by one
index) and this diff eliminates it.

Reviewed By: @paroski

Differential Revision: D1214373
Move all VM state preservation responsibility to {push,pop}VMState()

Currently, the responsibility of preserving the previous VM state is
spread across multiple places. Move all relevant code to
{push,pop}VMState() and do it early before invoke*() methods get a
chance to modify the stack.

Reviewed By: @paroski

Differential Revision: D1214476
Link in libMagickCore