Add support for RepeatOne (`+`) rules"
Rename `Repeat` -> `ZeroOrMore`; `RepeatOne` -> `OneOrMore`