Finish up changes to parser.Parse()

 + convert parsers map to list
 + implement returning first successful parse
 + tests!