Add new utility methods (MatchesToNamedGroupsDictionaries and MatchesToN...

...amedGroupsLookup) to accept patterns with named groups and return matches as dictionaries and a lookup. Closes #28.