Improved HHVM Support

Tests should now be passing on hhvm.