Added hhvm as a build target

This pul request implements hhvm as a build target. Notes:

- I've namespaced String and Set classes as CakeString and CakeSet. The former is an issue with hhvm where class names cannot coincide with PHP primitives. The latter is because HHVM provides a Set class, which they haven't namespaced (no idea if it is fixed in the latest HHVM version, though it's not fixed on the version in Travis). Both String and Set class still exist as stub classes. This should not be an issue in 3.x, due to namespacing.
- HHVM is an allowed_failure. It currently fails, due to ini, simplexml, and sqlite issues, but those might be fixed in later versions of HHVM (Travis is a version or so behind atm). Regardless, we should strive to not hold up releases because of HHVM support.
- <del>There is a `composer.json` file which will conflict with the new `composer.json` on master. I can remove it by rebasing, no worries.</del> Fixed in latest push.
- There was a change to the `cake` command. HHVM does not implement the `-q` arg - and fails spectacularly - and after some discussion, no one is quite sure wtf is going on with that. I'll probably need to make a PR to HHVM, but for the moment, removing `-q` was the only way around the issue.
- Tests now all reference CakeString and CakeSet.

I'd love to get HHVM into Travis, if for nothing else but to track our progress against it. Some day, the whole framework will run, and this is the first step towards that :)