Started testing.

It's pretty basic so far, mostly just testing ways in which the parser
should fail.

There are also some "stress" tests that try to break the parser.
QuickCheck caught a few bugs. Also fixed a bug where the compiler blows
the stack with sufficiently large regexps since concatenation was
burying things very deep. (Fixed by flattening concatenation.)

The parser seems to be OK on a 100KB string but completely falls over on
a 1MB string. That's not inspiring.

Finally, begin prepping for Glenn Fowler's tests with a nice macro to
test regexp captures.