Update klein Framework

Summary: HHVM reaches 100% for klein.php after applying https://github.com/chriso/klein.php/commit/744c07b7d4d168f146d0295073d85af13e576316
This is a good opportunity to update it.

I got 98.53% running it.
Closes https://github.com/facebook/hhvm/pull/4333

Reviewed By: @fredemmott

Differential Revision: D1700389

Signature: t1:1700389:1418420526:23740b8efe14af54cbeec4c1913462c488655474
Work around leak in boost flat_set

Summary: This is very likely to be the memory leak reported to be new in
HHVM 3.4. See code comment and linked GitHub issue for full explanation.

Fixes https://github.com/facebook/hhvm/issues/4268

{sync, type="child", parent="internal", parentrevid="1736543", parentrevfbid="1584241511789266", parentdiffid="5935230"}

Reviewed By: @paulbiss

Differential Revision: D1736543
Try not to rely on $USER

Summary: There are rare cases when it might not be set -- at least one
person complained in IRC of a crash due to this. Instead, try the
$LOGNAME env var, which apparently POSIX specifies should be set, and if
that doesn't work, run the `logname` command. cf:
http://unix.stackexchange.com/questions/76354/who-sets-user-and-username-environment-variables

Reviewed By: @int3

Differential Revision: D1731369

Signature: t1:1731369:1418322898:1688cb39c77b574dbf4ec3119bdead8be013fadd
Formatting fixes.

Summary: Mostly fixes for lines > 80. I have my editor set to wrap lines so
it's kind of annoying.

Reviewed By: @jwatzman

Differential Revision: D1732663

Signature: t1:1732663:1418424495:8551b7528dedf2fba8b62476befced0d315cc40e
Remove unused cache.ml

Reviewed By: @jwatzman

Differential Revision: D1732842

Signature: t1:1732842:1418424718:e29935c3321d75673ef3f1749fc64805c13f72cb
Add a couple of license headers.

Reviewed By: @jwatzman

Differential Revision: D1732831

Signature: t1:1732831:1418424578:eaac1f1e31ad188b8910625f8a22debe90f5d284
Add client time to server start time.

Summary: Ideally, `Unix.time () - start_time` would measure the total time it takes to start the
server from the moment the user issues a `hh_client start` command. Previously,
we ignored the time spent in running `hh_client` since that was generally negligible.
However, now that `hh_client` can invoke an external options script, the running time
can actually be noticeable depending on what the external script does; hence, we
should really set `start_time` when `hh_client` starts up, rather than when `hh_server`
gets started.

Reviewed By: @jwatzman

Differential Revision: D1737767

Signature: t1:1737767:1418429942:109e016d9eb54b561f040703355343fb73f42b8f
Fixes for vasm-llvm backend.

Summary: Down to 12 failures in test/quick. At least 1 test is flaky and sometimes
it goes to 11.

- Allocate data sections close to code to ensure 32-bit relocations point
  to correct code locations. This also fixes assertions we get with
  debug LLVM builds.
- Update LLVM with fixes to stack alignment in HHVM_TC calling convention
  and disable 8-byte stack alignment override.
- Enable smashable calls.

Reviewed By: @swtaarrs

Differential Revision: D1736576

Signature: t1:1736576:1418411702:b527abd17f6b8091561c7e7fb33015941bd10749
Support rVmFp modifications in llvm backend

Summary: I considered giving it the same treatment I gave rVmSp in D1622952 but
that would've required making changes to hundreds of hhir opcodes to add an
explicit FramePtr src. This ended up being fairly simple and should work just
as well.

Reviewed By: @maksfb

Differential Revision: D1735985