Scala parser combinators are not thread safe, and so we have a lot of synchronized code surrounding them, which cause lots of performance issues. Remove as much of the parser cominbator code as possible (most of it should be dead code) to make it easier to figure out where synchronization is occurring, and whether or not it's necessary.