Finish implementing most of the pure-Ruby parser

I still have one failing test left for causal events, but am deferring that while I test this branch with a few apps