make ./configure --help have all the options

Summary: This has always bugged me.

Now we have (with columns):

    usage: ./configure -Dvariable=argument ...\n
    Variables:
      -DCMAKE_BUILD_TYPE=Debug|Release|RelWithDebInfo|MinSizeRel    Sets build type                                                Default   Release
      -DALWAYS_ASSERT=ON|OFF                                        Enabled asserts in a release build                             Default   OFF
      -DDEBUG_APC_LEAK=ON|OFF                                       Allow easier debugging of apc leaks                            Default   OFF
      -DDEBUG_MEMORY_LEAK=ON|OFF                                    Allow easier debugging of memory leaks                         Default   OFF
      -DDISABLE_HARDWARE_COUNTERS=ON|OFF                            Disable hardware counters (for XenU systems)                   Default   OFF
      -DENABLE_COTIRE=ON|OFF                                        Speed up the build by precompiling headers                     Default   OFF
      -DENABLE_FULL_SETLINE=ON|OFF                                  Enable full setline function for debugger and code-coverage    Default   OFF
      -DENABLE_TRACE=ON|OFF                                         Enable tracing in release build                                Default   OFF
      -DENABLE_ZEND_COMPAT=ON|OFF                                   Enable Zend source compatibility                               Default   ON
      -DEXECUTION_PROFILER=ON|OFF                                   Enable the execution profiler                                  Default   OFF
      -DHOTPROFILER=ON|OFF                                          Enable support for the hot-profiler                            Default   OFF
      -DPACKED_TV=ON|OFF                                            Enable packed tv (typed value) compilation                     Default   OFF
      -DUSE_GOOGLE_CPU_PROFILER=ON|OFF                              Use Google cpu profiler                                        Default   OFF
      -DUSE_GOOGLE_HEAP_PROFILER=ON|OFF                             Use Google heap profiler                                       Default   OFF
      -DUSE_JEMALLOC=ON|OFF                                         Use jemalloc                                                   Default   ON
      -DUSE_TCMALLOC=ON|OFF                                         Use tcmalloc (if jemalloc is not used)                         Default   ON

and without columns

    usage: ./configure -Dvariable=argument ...\n
    Variables:
      -DCMAKE_BUILD_TYPE=Debug|Release|RelWithDebInfo|MinSizeRel : Sets build type : Default: Release
      -DALWAYS_ASSERT=ON|OFF : Enabled asserts in a release build : Default: OFF
      -DDEBUG_APC_LEAK=ON|OFF : Allow easier debugging of apc leaks : Default: OFF
      -DDEBUG_MEMORY_LEAK=ON|OFF : Allow easier debugging of memory leaks : Default: OFF
      -DDISABLE_HARDWARE_COUNTERS=ON|OFF : Disable hardware counters (for XenU systems) : Default: OFF
      -DENABLE_COTIRE=ON|OFF : Speed up the build by precompiling headers : Default: OFF
      -DENABLE_FULL_SETLINE=ON|OFF : Enable full setline function for debugger and code-coverage : Default: OFF
      -DENABLE_TRACE=ON|OFF : Enable tracing in release build : Default: OFF
      -DENABLE_ZEND_COMPAT=ON|OFF : Enable Zend source compatibility : Default: ON
      -DEXECUTION_PROFILER=ON|OFF : Enable the execution profiler : Default: OFF
      -DHOTPROFILER=ON|OFF : Enable support for the hot-profiler : Default: OFF
      -DPACKED_TV=ON|OFF : Enable packed tv (typed value) compilation : Default: OFF
      -DUSE_GOOGLE_CPU_PROFILER=ON|OFF : Use Google cpu profiler : Default: OFF
      -DUSE_GOOGLE_HEAP_PROFILER=ON|OFF : Use Google heap profiler : Default: OFF
      -DUSE_JEMALLOC=ON|OFF : Use jemalloc : Default: ON
      -DUSE_TCMALLOC=ON|OFF : Use tcmalloc (if jemalloc is not used) : Default: ON

Reviewed By: @JoelMarcey

Differential Revision: D1376802
match php5's memcache getoption

Summary: In

https://github.com/php-memcached-dev/php-memcached/blame/94f64446e782b0175e54b520b22b2fcc74988280/php_memcached.c#L2359

they check the result status is not `nullptr`. And on our version of the memcache library we werne't passing test/slow/ext_memcached/construct_persistent.php because we were returning `NULL` instead of `""`.

Reviewed By: @JoelMarcey

Differential Revision: D1376697
re-import curl tests

Summary: and lock in D1328961's changing of the tests. This should fix some travis tests.

Reviewed By: joelm, bertrand

Differential Revision: D1376639
Fix more C warnings

Summary: I'm a doofus and didn't do a clean build, thus missing a few
warnings in my earlier cleanup.

mlpderpyhooves

Reviewed By: @ptarjan

Differential Revision: D1375804
Exit server on hhconfig change

Summary: The hhi embedding option is handled at server init time, and
it's going to be more trouble than it's worth IMO to allow runtime
twiddling of it. (Off -> on could probably be made to work, but on ->
off is trickier with current machinery.) So instead, just kill the
server when we detect an hhconfig change; `hh_client` will start it up
again next time.

Reviewed By: @elgenie

Differential Revision: D1376096
Stop ignoring Makefiles in Hack repo

Summary: There's an annoying `Makefile` rule in hphp/.gitignore and it's bitten
me a few times. Let's override it for Hack.

Reviewed By: @jwatzman

Differential Revision: D1364509
Convert ext/memcache to HNI

Summary: Part of #1480
Closes #2795

Reviewed By: @ptarjan

Differential Revision: D1354168

Pulled By: @JoelMarcey
Fix for incorrect pathinfo

Summary: We should only reset the path_info if it doesnt already exist.
Closes #2906

Reviewed By: @ptarjan

Differential Revision: D1377070

Pulled By: @JoelMarcey
FastCGI: Added support for different proxy types in the script_filename string.

Summary: ie: proxy:balancer://host:port/file/name.php and proxy:fcgi://host:port/file/name.php
also converted the 4 comparison strings into statics
Closes #2907

Reviewed By: @fredemmott

Differential Revision: D1377080

Pulled By: @JoelMarcey
Clean up Resumable::Create

Summary: Some changes to Resumable::Create:

1. Move the copying of locals and iterators to Resumable::Create.
This should result in tighter JIT code.
2. Allow ActRecs with VarEnvs to be suspended in AwaitE from
the JIT. This just needs attaching the VarEnv to the suspended
ActRec.

Reviewed By: @jano

Differential Revision: D1375460
Use ephemeral service request for BIND_CALL

Summary: Steal some space from the beginning of the reusable service
request stub to emit BIND_CALL specific code.

Reviewed By: @bertmaher

Differential Revision: D1363546
EZC: fix proxying in zBoxAndProxy()

Summary: * Don't proxy arrays that are already proxies, that's inefficient
* Make a copy of the inner array prior to proxying it. It's necessary to
  copy arrays to provide the necessary semantics, and it was previously
  done in ZArrVal, but ZArrVal only has access to proxy arrays, and it
  is difficult for an external caller to tell whether the inner array
  has refs.
* Make copies of static arrays, as well as ones with multiple refs.
  Modifying static arrays is not polite -- added test case which
  previously failed.
Closes #2783

Reviewed By: @ptarjan

Differential Revision: D1351500

Pulled By: @JoelMarcey