Made the incremental parser correct

Rewrote code to be more elegant (no Result instances in parsers). Also
refactored the incremental parser and fixed a edge case when reading a
still-being-written-to log (aka "tail -f") functionality