Enable ZNC core by default, for real this time

Summary: This was supposed to have been turned on by default in change 7bdfc2d, but it
wasn't, possibly because ZNC was pretty broken at the time. It no longer is, so
it makes sense to make this the default.
Closes #2671

Reviewed By: ptarjan, seanc

Differential Revision: D1330150

Pulled By: @JoelMarcey
Add support for cloned closures in PGO mode

Summary: Cloned closures don't have actual prologues, and their prologue tables
point to translations of the corresponding function entries (main body
or DV funclets).  To support them in PGO, we just need to update the
corresponding entry in the prologue table when retranslating their
function entries in Optimize mode.

Reviewed By: aravind

Differential Revision: D1333821
Add camel caps search support to hh_client search

Summary: This adds a way to search for a long class name faster if you know the capital letters in it.

For example, you could search for FooBarClass by typing 'fbc' instead of the full name.

This was supported in monocle and I don't want to drop any features so I've added it to hh_client search.

Reviewed By: @jwatzman

Differential Revision: D1339161
Yell when using a collection with the wrong type parameter list

Summary: This is awkward and not ideal, but the best compromise for now.
See code comment.

Fixes #2499

Reviewed By: @elgenie

Differential Revision: D1339407
Tweak build timstamp

Summary: Use preprocessor macros instead of codegen for the date.

Reviewed By: @gabelevi

Differential Revision: D1339192
Remove FB-internal Makefiles

Summary: Not much to see here externally except the removal of a
reference to a directory you can't see :)

Reviewed By: @gabelevi

Differential Revision: D1339211
allow autoload_set_paths to take a Map

Summary: Closes #1259

Reviewed By: @JoelMarcey

Differential Revision: D1338149
use a 64bit int for str_split

Summary: Closes #1327

Reviewed By: @edwinsmith

Differential Revision: D1337992
Fix invokeArgs for static functions with instance

Summary: Matches php5

Fixes facebook/hhvm#1721

Reviewed By: @ptarjan

Differential Revision: D1337840
Fix consumesReference() for CreateAFWH

Summary: Index of WaitHandle object was off by one. Also fix indentation in
native-calls.cpp.

Reviewed By: @swtaarrs

Differential Revision: D1340014
don't have attribute encoding in var_export

Summary: I thought about trying to not add it in the first place, but it is very ingrained in our serialization system.

Closes #1393

Reviewed By: @JoelMarcey

Differential Revision: D1338789
Support -c in php mode

Summary: How is everyone not complaining about this missing?

Reviewed By: @JoelMarcey

Differential Revision: D1340737
Revert "Profile to find places we can guard on KindOfStaticString"

Summary: This reverts commit e5bb8965884c186067582ad4503304c2fad80fcf.

Reviewed By: @edwinsmith

Differential Revision: D1341281
Fix abstract constructors

Summary: No need to call `parent::__construct` if it's abstract (and, of
course, you actually can't call it :)), so flip off that bit. In order
to make this work properly with interfaces, fix a bug where we were
considering all interface methods to be implicitly abstract except for
the constructor.

I'm not a huge fan of abstract constructors, but there are cases where
they make sense, even more so when/if we get first-class classes or
something similar.

Fixes #2158

Reviewed By: @pikatchu

Differential Revision: D1340379
Cut unsafe out of the AST before flattening blocks

Summary: This could lead to much more than the programmer intended being
removed with an `// UNSAFE`, and also could cause weird effects as seen
in github issue #2123. We should only clip out the local lexical block.
Furthermore, we can combine these two functions, since we should always
do them together (and the cases where we weren't looked like bugs).

Fixes #2123

Reviewed By: julienv, eletuchy

Differential Revision: D1339952
Fix incremental mode + global constants

Summary: We were improperly treating these as classes, and so weren't
finding their deps when looking them up, whoops.

Reviewed By: @pikatchu

Differential Revision: D1337858
Speed up incremental mode w/o namespaces (slightly)

Summary: D1254406 removed the check here that we were actually using
namepaces, so we now always insert a `FunName` dep on functions. This
causes unnecessary redeclarations of files that call functions when the
function changes if you aren't using namespaces.

Reviewed By: @pikatchu

Differential Revision: D1337890
Reclaim significant excess StringData space

Summary: Make String::shrink() do actual work if the 'slack' is above a certain threshold. Based on experiments both profiling the slack size and perflab, 1024 seems to be the best value here.

Reviewed By: @bertmaher

Differential Revision: D1338069
Global fallback for constants

Summary: Same as global fallback for functions, I'm not sure this
behavior totally makes sense, but it's what PHP does.

Fixes #2565

Reviewed By: @pikatchu

Differential Revision: D1337954
Mitigate buffer overflow in ICU

Summary: There's a buffer overflow in ures_getByKeyWithFallback, where it's using
a buffer of size 256 to store a string without checking the length of
the input string. This diff stops us from passing strings of length 256
(including nul terminator) to ures_getByKeyWithFallback from
get_icu_display_value.

Reviewed By: @fredemmott

Differential Revision: D1337608