Better error reporting, more clear comments.

Need to fix ignorable-char? bug though.
Fixed ignorable chars, updated test.

A little messy to do the matching as a double offset follow, but gets
the job done.