Fix cmake FindLibMagickWand to support more distros

Use cmake FindImageMagick as MagickWand is a part of ImageMagick
package.

Fixes https://github.com/facebook/hhvm/issues/1897
Remove Resource[Data]'s dependence on complex-types.h

Also remove type-array.h's dependence on type-string.h

Reviewed By: @jdelong

Differential Revision: D1210268
Remove simplifyConst cases on unequal types

A lot of the cases in simplifyConst are no longer relevant as our IR
arithmetic/bitop insts no longer take cells. We used to have IR like:

  Add(Null, StaticStr("123a"))

and we'd want to fold it, but now we have:

  AddInt(ConvCellToInt(Null), ConvStrToInt(StaticStr("123a")))

Reviewed By: @edwinsmith

Differential Revision: D1205298
Add skip() and skipWhile() methods to Iterable interface and friends

Reviewed By: @elgenie

Differential Revision: D1205486
Untangle ref-data.h from complex-types.h

Can include ref-data.h directly now.

Reviewed By: @jdelong

Differential Revision: D1210494
Add take() and takeWhile() methods to Iterable interface and friends

Reviewed By: @dariorussi

Differential Revision: D1202217
Remove type-string.h's dependence on complex-types.h

And actually have type-string.cpp include it.

Reviewed By: @elgenie

Differential Revision: D1210577
Prepend unix:// to redis socket paths (as needed)

Match Zend behavior

Closes #1918

Reviewed By: @ptarjan

Differential Revision: D1210627
Make IntlDateFormatter->parse() second arg optional

Match Zend

Closes #1957

Reviewed By: @ptarjan

Differential Revision: D1210617
Implement ICU ResourceBundle

Per Zend version

Reviewed By: @ptarjan

Differential Revision: D1210463
Implement ImagickDraw

Implement class ImagickDraw in Imagick extension (#954)

Reviewed By: @ptarjan

Differential Revision: D1188011
Move some container/collection stuff out

Very few translation units actually need the container
functions, compared to the number that include builtin-functions.h
somehow, so put them in their own header.  Also move getCollectionSize
out of ObjectData so we don't need to define
FAST_COLLECTION_SIZE_OFFSET from the complex-types.h cluster.

Reviewed By: @alexmalyshev

Differential Revision: D1210228
Move RequestInjectionData/ThreadInfo/ExecutionProfiler out

Reviewed By: @ptarjan

Differential Revision: D1210336
Remove the Opcode typedef

This turned out not so bad, probably in part because I mostly
just changed Opcode*'s to Op*'s without thinking about which ones
should've been PC.  The only hard part was I went down the wrong path
for Unit::offsetOf at first.

Reviewed By: @edwinsmith

Differential Revision: D1210620
CArrRef sucks

Second in the series.  (See D983915.)  Unlike that diff, I
found no cases of CArrRef(arrptr) unexpectedly doing c-style casts.

Reviewed By: @alexmalyshev

Differential Revision: D1210633
Remove CResRef typedef

The only oddity with this one was a place where someone was
taking a const CResRef& argument to a function.  (I guess reference
collapsing rules kick in for typedefs too, but I didn't realize
that...)  Again none of the accidental C-style casts with this one.

Reviewed By: @alexmalyshev

Differential Revision: D1210639
Remove CObjRef

Reviewed By: @alexmalyshev

Differential Revision: D1210641
s/CVarRef/const Variant&/

A few duplicate consts and refs to refs.  One weird place was
doing a const_cast<CVarRef>(foo) ... but I left that alone (just
expanded) for now.

Not quite the end of this style of thing---but those VRefParam-related
things are harder.  So I'm leaving them alone right now.

Reviewed By: @alexmalyshev

Differential Revision: D1210647
Update libzip

Reviewed By: @ptarjan

Differential Revision: D1203292
Remove type-array.h's dependence on complex-types.h

type-array.cpp now includes type-array.h

Reviewed By: @edwinsmith

Differential Revision: D1210664