iterator yields is a tuple of a line and a text version that that line is present in (not introduced in). Ordering of results is in whatever order is most suitable for the underlying storage format. If a progress bar is supplied, it may be used to indicate progress. The caller is responsible for cleaning up progress bars (because this is an iterator). NOTES: * Lines are normalised by the underlying store: they will all have \n terminators. * Lines are returned in arbitrary order. * If a requested key did not change any lines (or didn't have any lines), it may not be mentioned at all in the result. :param pb: Progress bar supplied by caller. :return: An iterator over (line, key). NFr