L2P: merge `match_l2p_rule` into `next_match`

This merges the two state machines (rule list traversal and rule
string matching). It allows the rule string matcher to be recursive
for right contexts with phoneme patterns (consonant, vowel, etc.).