Nested docstring parsing.

DocstringDeclerations are now parsed containing the Declerations they
are documenting.
Copied more of makeTokenParser from Parsec.

My initial override of makeTokenParser didn't override every single
function in the token parser, only the ones I thought that needed the
new behaviour.  Was seeing some weird behaviour though, so I've copied
the entire thing over for now.  Can play about later and see if there's
anything to cut down.

Also fixed an issue with my implementation of oneLineComment.