allow redirects in SoapClient requests

Summary: PHP hardcodes this number to 20, but it is never set for SoapClient. I
introduced a constant in HttpClient and replaced 20 in UrlFile as well.

https://github.com/php/php-src/blob/PHP-5.6/ext/standard/http_fopen_wrapper.c#L76
Closes #2620

Reviewed By: @ptarjan

Differential Revision: D1314184

Pulled By: @JoelMarcey
Handle UNIX domain sockets correctly in memcache & memcached extensions

Summary: * Memcache::addServer checks for 'unix://' to determine if the host argument
  represents is a UNIX domain socket. HHVM's version checked for a leading '/'.
* Memcached::addServer checks for a leading '/' to determine if the host
  argument is a UNIX domain socket. HHVM's version did not handle UNIX domain
  sockets at all.

This patch adds UNIX domain socket support to Memcached::addServer, and it
corrects the handling of the host argument in Memcache::addServer.

Fixes #1375.
Closes #2450

Reviewed By: @ptarjan

Differential Revision: D1316665

Pulled By: @JoelMarcey
remove register_cleanup_function

Summary: This is semantically identical to register_postsend_function and that one is named better

Reviewed By: @jdelong

Differential Revision: D1320797
Fix for setting multiple cookies with the same name and added max-age support

Summary: Replaced the CaseInsenMap with a std:vector to support multiple cookies with the same name. This fixes facebook/hhvm#2494

Couple notes regarding further changes I'd suggest are on the commit.

Closes #2526
Closes #2494

Reviewed By: @ptarjan

Differential Revision: D1316339

Pulled By: @JoelMarcey
Full GD Support in Linux

Summary: This pull request enables the remainder of GD support for HHVM on Linux, including imagettfbbox and others. This PR resolves Issue [#2576](https://github.com/facebook/hhvm/issues/2576) and replaces PR [#2588](https://github.com/facebook/hhvm/pull/2588).
Closes #2622

Reviewed By: @ptarjan

Differential Revision: D1314173

Pulled By: @JoelMarcey
IntlDateFormatter->format now formats DateTime objects as well as timestamps

Summary: Closes #2613

Closes #2614

Reviewed By: @ptarjan

Differential Revision: D1313399

Pulled By: @JoelMarcey
Make PDOException a subclass of RuntimeException.

Summary: This matches PHP5 behavior

Closes #2584
Closes #2583

Reviewed By: @ptarjan

Differential Revision: D1314289

Pulled By: @JoelMarcey
DatePeriod iterates one day too much

Summary: Iterating one day too many. Test matches PHP5 behavior

Closes #2539
Closes #2530

Reviewed By: @ptarjan

Differential Revision: D1316091

Pulled By: @JoelMarcey
Process Double Response to check if type is BULK and numeric

Summary: Fixes #2353
Closes #2535

Reviewed By: @ptarjan

Differential Revision: D1316097

Pulled By: @JoelMarcey
Make date_format() independent of format() method. Should fix #2580

Summary: Match PHP5 behavior.

Closes #2581
Closes #2580

Reviewed By: @fredemmott

Differential Revision: D1314337

Pulled By: @JoelMarcey
Fix logic to decide when to emit profiling translations

Summary: Occasionally, the JIT was producing profiling prologue (Proflogue)
translations that were never retranslated in Optimize mode.  This diff
fixes a couple of issues that were causing this.

In addition, this diff adds an option to tc-print to filter the top
translations by a specific TransKind.  This was useful to identify the
Proflogue translations that were still reachable.  Analysis of these
translations helped determining the root causes of the problem.

Reviewed By: aravind

Differential Revision: D1323276
Fix for task #3692814

Summary: The diff breaks up the incoming string into tokens separated by ',' and then compares each token to an encoding string that's passed in. Returns true if a token compares equal, false otherwise.

Reviewed By: @oyamauchi

Differential Revision: D1310270
Fast path array new_iter_array_key when val/key locals are uncounted

Summary: Most of the time IterInit is given locals that are
uninitialized, so we can guard the fast path on that and squeeze the
code to fit in a small number of cache lines (2 for isPacked, 3 for
isMixed).

Reviewed By: @jdelong

Differential Revision: D1315316
Fallback to fp->m_func->cls() if fp->m_this was wiped

Summary: Recently, the responsibility to free locals (including $this) was moved
from ext_asio to the async function itself to match behavior of normal
functions.

The problem is that when the onAsyncFunctionFailed hook is called, $this
is no longer available and when we try to collect an async stack trace
from that hook, the class name is no longer available.

Fallback on using fp->m_func->cls(), which provides __CLASS__ instead of
LSB get_called_class(), but it's better than nothing.

Reviewed By: @billf

Differential Revision: D1322634
Simplify ExtendsClass for AttrNoOverride

Summary: If tested class has AttrNoOverride, then ExtendsClass only
needs to do the exact check.

Reviewed By: @jdelong

Differential Revision: D1323687
Implement type hierarchy for interfaces

Reviewed By: @jdelong

Differential Revision: D1189186
Document VMRegAnchor and isVMFrame()

Summary: Closes #2514

Reviewed By: @paroski

Differential Revision: D1311289

Pulled By: @JoelMarcey