Merge match branch
re_matches function

Does not handle global matches, returns a logical vector if no capture
groups are specified, returns a data frame if they are.  If capture
groups are named uses them as the names of the data frame columns.