Add functions for finding loop headers, and for inserting loop-preheaders.

Summary: Refactors the loopVisit function into a BackEdgeVisitor helper struct.

Reviewed By: @ottoni

Differential Revision: D1541026
Fix bogus EOF in bzip2

Summary: Check for EOF the way PHP-NG's bz2 extension does.

The C library is:
 - returning fewer bytes than requested
 - setting BZ_STREAM_END (if I use bz2_bzRead() instead of bz2_bzread()...
   ya rly...

When there's still data left. A read after the C library claims 'EOF' works fine.

I'm finding this by tar jcvf'ing hphp/test/frameworks/vendor/ and trying to extract with PharData (or __SystemLib\TarArchiveHandler) - but I can't get a more isolated repro case. I suspect there's multiple bzip2 streams in the file, but catting together multiple .bz2 files doesn't create this problem. I've also tried bunzip2 + bzip2ing it, and it still has the problem, so it's not something weird about how tar is bzipping.

Reviewed By: @ptarjan

Differential Revision: D1560065
Add special error for unset in strict mode

Summary: Folks keep trying to add this. Let's be more specific here.

Ref. https://github.com/facebook/hhvm/issues/2711

Reviewed By: @elgenie

Differential Revision: D1531155
Update NEWS for T-Pain

Reviewed By: @ottoni

Differential Revision: D1560117
Export treadmill.age counter

Summary: That's it.

Reviewed By: @​tracelog

Differential Revision: D1559739
Fix segfault when calling hash_final twice

context is freed in hash_final. The second call tries to use the freed variable.