HHVM testing

This replaces #143. I fixed the mistake which was preventing tests from running on HHVM.

#150 should be merged before this PR (I built it on top of the other PR to avoid conflicts between them, and to avoid bumping from 20 to 25 builds. Going from 6 to 7 is much better)