Factor Ruleset::Match -> Rule
patrie: const-correctness
Provide range-based version of longest_match
patrie needs to store its Rules internally
Make sure Rule members are always initialized
Use patrie to implement "longest match" rule

Fixes #13 (ostensibly)