Return `Nothing` when end of input is reached in `parsed` and `parsed`

Previously to distinguish between an end of input and a parsing error,
the message of decoding error had to be inspected.
Update tests for lens based parsing

There are some tests that fail because of the leftovers. I have some
doubts about what the leftovers should be. I need to clearify it before
fixing it.