rust: simplify pattern file parsing
Previously we kept the pattern syntax as a &[u8] until the last
possible moment, which meant we had to handle potential errors when
parsing that &[u8]. But such errors could never actually occur, given
the structure of the code.
Now we parse it eagerly (in two places) and pass it around as a
PatternSyntax, so we can delete some error handling code.
parse_one_pattern is in particular useful for parsing patterns passed
on the command line, as we'll support later in this series.
pager.pager=p0 # $TESTTMP/sysrc:4
ui.editor=e1 # $TESTTMP/userrc:2
pager.pager=p2 # $PAGER
ui.editor=e1 # $TESTTMP/userrc:2