Change g_array_funcs to dispatch to proper IntMap functions

Summary: Change g_array_funcs to dispatch to kIntMapKind templated versions of functions
so that warnings are raised appropriately for:

 * Looking up, inserting, or removing a string key
 * Appending to, dequeuing from, or popping from the array
 * Inserting a value that is a reference
 * Renumbering array keys

Reviewed By: @paroski

Differential Revision: D1413912
Introduce Dbl-specific relational IR opcodes

Summary: Relational comparisons between doubles are common in microbenchmarks, so
I'm implementing proper codegen for them here.

We had an attempt at codegen for this stuff already in the code, but it
didn't work quite right, and would have been very hard to bring up to
date with my recent fix to how NAN comparisons work. This new
implementation also eliminates the need to check the parity flag to
detect the unordered case.

This doesn't add fused jump opcodes corresponding to these; I could do
that, but I'd like to get this in first, and I'd actually much rather
come up with a general solution for IR jump fusion (i.e. instead of
having all these semi-duplicated opcodes, add a notion of condition
flags into the IR).

Reviewed By: @swtaarrs

Differential Revision: D1386084
fixed a security vulnerability in php where session encodings could have data injected into them

Summary: When sessions were encoded there was no check to ensure keys did not contain undef markers.

fixes CVE-2010-3065

Relevant links:

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-3065

http://php-security.org/2010/05/31/mops-2010-060-php-session-serializer-session-data-injection-vulnerability/index.html

Reviewed By: @JoelMarcey

Differential Revision: D1376056