Use a static for the "Array" string

Summary: "Array" comes up in a few places in code, use a static string
instead of constructing it.

Reviewed By: @edwinsmith

Differential Revision: D1350792
Implement ParamCoerceModeFalse for HNI

Summary: PHP (SystemLib) coming soon hopefuly, in a separate diff -
though this does a lot of the groundwork.

fixes facebook/hhvm#2681

Reviewed By: @jdelong

Differential Revision: D1340560
Re-add the leading : and % to XHP tokens in token_get_all

Summary: Special cases T_XHP_LABEL and T_XHP_CATEGORY_LABEL as their leading characters
are stripped be the lexer.

Fixes #2736
Closes #2754

Reviewed By: @fredemmott

Differential Revision: D1349006

Pulled By: @JoelMarcey
This should return true not throw it.

Summary: pretty straight forward this one.
Closes #2780

Reviewed By: @ptarjan

Differential Revision: D1350926

Pulled By: @JoelMarcey
Allow stream_socket_shutdown on HTTP 'sockets'

Summary: fixes facebook/hhvm#2632

Reviewed By: @JoelMarcey

Differential Revision: D1347618
Teach HHVM's JIT about count($value)

Summary: The idea is to fast path accessing the size of an array or a
collection. Collections always have their size at
FAST_COLLECTION_SIZE_OFFSET, and arrays (that are not NVTW) have their
size at ArrayData::offsetofSize(). For collections we can just do a
load, but for arrays of unknown kind we have to do an if/else in
codegen on whether to do the load directly or to call out to
ArrayData::size().

Reviewed By: @swtaarrs

Differential Revision: D1335482
Condition flags: extend bit usability from 8 bits to 32 bits

Summary: We currently use all 8 usable bits of condition flags, but we keep
memory for sizeof(ssize_t)*8 bits. Extend usability from 8 bits to 32
bits to allow new bits to be introduced.

Reviewed By: @billf

Differential Revision: D1350845
Fix HH\autoload_set_paths with nested maps

Summary: fixes facebook/hhvm#1259

Reviewed By: @ptarjan

Differential Revision: D1347346
Fake overloaded ReflectionMethod constructor

Summary: Improves phpunit pass rate.

While I'm here, make the method does not exist message match php5.

Reviewed By: @JoelMarcey

Differential Revision: D1351754
Don't fallback to string filter when invalid filter is passed to filter_var

Summary: For some reason hhvm was falling back to string filter for when a filter isn't found when php simply returns false.

Fixes #2739

Reviewed By: @ptarjan

Differential Revision: D1346745
Corrected the result of var_dump and print_r for ArrayObject

Summary: PHP prints different values for ArrayObject, this diff mimics this behavior.

Reviewed By: @ptarjan

Differential Revision: D1350755
Corected the type hint for ReflectionMethod::getAttributeRecursive

Summary: Match with PHP implementation

Closes #2740

Reviewed By: @fredemmott

Differential Revision: D1347329
Use empty_string instead of return ""

Summary: When returning a String/Variant use empty_string instead of ""
since it saves the work of constructing the String first.

Reviewed By: @markw65

Differential Revision: D1349340
Fix GD Crash on _php_image_create_from_string due to missing JIT frame.

Summary: Fixes #2238
Closes #2757

Reviewed By: @sgolemon

Differential Revision: D1349010

Pulled By: @JoelMarcey
stream_get_line is supposed to return false on eof or error

Summary: Fixes #2759

changed test to match php's behaviour

Also, `stream_get_line`'s second parameter `$length` is optional in hhvm while it isn't optional in zend php. Should this be changed or not?
Closes #2786

Reviewed By: @ptarjan

Differential Revision: D1351555

Pulled By: @JoelMarcey