Complete overhaul of Parser trait using iterators. Checkpoint commit (ConcatParser is unfinished)
Make things printable
Replace MoveEntries printing function with an iterator printing function. Dunno what I was thinking before.
Add some comments.
Checkpoint commit. I'm tired of playing type-system chess for the tim ebeing
My last commit message? Yeah I lied. I was annoyed that I couldn't make this dumb thing work, so I gritted my teeth and finished the implementation of Iterator for ConcatResultIter.
Kind of finish ConcatParser. There's one not-so-nice aspect, which is that it requires the second parameter to implement Clone. In theory we only need a reference to a Parser in ConcatResultIter to be able to call parse, but I couldn't make the borrow checker agree with me.
Add deriving(Clone) to AltParser and ConcatParser
Add some more manual tests, clean up the printing logic