Stream parser: Simplified implementations using either & maybe

Using `either` and `maybe` I was able to remove explicit case statements from some functions. I think this significantly increases readability in mosts cases. I think the library should use standard library functions wherever possible.

This is essentially a byproduct of my attempt to extend xml-conduit by functions allowing to ignore subtrees (another pull request will hopefully be finished soon).