L2P: Create a basic match algorithm

This is the start of creating a letter-to-phoneme transducer for
matching letter-to-phoneme rules.

The matching part works like a finite-state automata. The
finite-state transducer part is built on top of the matching
algorithm.

The best rule match can either be:

  1.  the first match using ordered rules -- this is how the NRL
      Report 7948 algorithm works;

  2.  weighted matches based on a scoring system -- this is how
      the eSpeak rules work.