Raise ParseError instead of displaying '<<< >>>'
Properly reindent recent additions.
Preliminary support for group references.

This allows both capturing groups (only provided if you pass in a dict),
and backreferences (which get an anonymous dict for the duration of the
lookup).  In my benchmarking, this is about 1.5% slower than the
previous version, while being much more powerful.
Update docs about capture group extraction.