Add test helper
Add ByteString version of Attoparsec
One pass parser and tests.

We remove the HTML test as it is no longer necessary. We cover the
test case in spec tests and other HTML tests but keeping this around
fails: this is because the new parser has different semantics there.
In fact, I suspect the original behaviour was a bug that wasn't
caught/fixed but simply included as-is during the testing.
Rename Haddock.ParseSpec to Haddock.ParserSpec
Move UTF-8 encoding/decoding to separate file
Make sure that parsing always ends at endOfInput
Failing tests for totality
Fix spec
Simplify stringBlock
Update html tests
Do not append \n to input of parseString