vm: code_pos has to be volatile, because trace is weird otherwise.

Example: The test/fail/infinite_eq.ly test shows the wrong line number without
this simple change.
Testing is now unified. Fixes #73.

pre-commit-hook.py (the old one) was divided into different failing tests like
sanity.ly was.

blastmaster.py now has the ability to read triple-hash comments to figure out
what a test should dump to stderr. This allows it to read over all of the
tests without a user having to manually check the error (yes, I DO remember
having to do that and missing some!)

blastmaster.py is now pre-commit-hook.py. It checks for passing, failing, and
(most importantly) crashing tests. All tests are run at once, because it's no
fun when tests stop in the middle.