Nasty bug fix. When asking for location, only save the first
capture group.
more doco
Switch to iterators is less performance critical sections.
A small optimization for ^ anchored expressions (don't simulate .*? prefix)