Prerequisite: #10 - There should be `NewlinePattern` equivalents of both `BufRead::read_line()` and `BufRead::lines()` (and `BufRead::read_until()` and `BufRead::split()`?) - Add options for whether to retain trailing matches and/or yield a final empty string after a final match