Refactor parser to use ParserContext
Fix tests
Move resolver and defmap into ParserContext; rename with_id to add_id_and_span in parser; use TreeMap instead of HashMap for id -> span mapping.
Fix parsing of match statements
Update mc2c so that matches of variants with no parameters do not require parentheses.
Fix parser formatting inconsistencies, remove unnecessary spans