Move parser-combinator framework to subdirectory.
Split char parser into separate module.
Discarding version of char parsers.  Also, many() should return a count rather than an array if sub-parsers have empty results.
Add char parsers for various token types.