Add version of conduitParser that returns Either

...instead of throwing an exception. In some complex monad transformer
stacks, it is more preferrable to keep things simple and just return a
stream of Either values, stopping at the first Left (as we don't
really know how to continue in the general case - where are we in the
input stream?).

Also made the Position types strict in their fields to make sure we
don't cause leaks in the unexpected edge cases.
Add a test case confirming operation of conduitParser