(mutually exclusive options) to allow the dataset reading to end upon
encountering certain text pattern (or a more complicated match, if we
specify a function for the option value).
These options can be used to work with the `maxcount' option; the shortest
of the two (maxcount records read first, or end/last_line_match finds a
match) will end the reading of the dataset.
"next()" method dispatcher is called.
This approach should get rid of the problem with circular reference which
causes the text_input instance not be erasable because of strong reference
to `self' in `self.next.im_self'.