Don't consider StaticFlags when parsing arguments.

Instead, discard any static flags before parsing the command line using
GHC's DynFlags parser.

See http://ghc.haskell.org/trac/ghc/ticket/8276

Based off a patch from Simon Hengel.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Update HTML tests
Bump version
Track changes in HsSpliceTy data constructor
Adapt to small change in Pretty's exports
Some code simplification by using traverse
Fix warnings in 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
Don't append newline to parseString input

We also check that we have parsed everything with endOfInput.
Fix totality, unicode, examples, paragraph parsing

Also simplify specs and parsers while we're at it. Some parsers were
made more generic.

This commit is a part of GHC pre-merge squash, email
fuuzetsu@fuuzetsu.co.uk if you need the full commit history.
Update acceptance tests
Support for bold.

Conflicts:
	src/Haddock/Backends/Hoogle.hs
	src/Haddock/Interface/Rename.hs
	src/Haddock/Parser.hs
Allow for headings inside function documentation.

LaTeX will treat the h3-h6 headings the same as we'd have to hack the
style file heavily otherwise and it would make the headings tiny
anyway.

Hoogle upstream said they will put in the functionality on their end.

Conflicts:
	src/Haddock/Interface/Rename.hs
	src/Haddock/Types.hs
	test/Haddock/ParserSpec.hs
Per-module extension flags and language listing.

Any extensions that are not enabled by a used language (Haskell2010
&c) will be shown. Furthermore, any implicitly enabled are also going
to be shown. While we could eliminate this either by using the GHC API
or a dirty hack, I opted not to: if a user doesn't want the implied
flags to show, they are recommended to use enable extensions more
carefully or individually. Perhaps this will encourage users to not
enable the most powerful flags needlessly. Enabled with show-extensions.

Conflicts:
	src/Haddock/InterfaceFile.hs
Bump interface version

There were some breaking changes over the last few patches so we bump
the interface version. This causes a big problem with testing:

1. To generate cross package docs, we first need to generate docs for
the package used.
2. To generate package docs with new interface version, we need to use
Haddock which has the version bumped.
3. To get Haddock with the version bump, we first need to test cross
package docs
4. GOTO 1

So the problem is the chicken and the egg problem. It seems that the
only solution would be to generate some interface files on the fly but
it is non-trivial.

To run this test, you'll have to:

* build Haddock without the test (make sure everything else passes)
* rebuild the packages used in the test with your shiny new binary
  making sure they are visible to Haddock
* remove the ‘_hidden’ suffix and re-run the tests

Note: because the packages currently used for this test are those
provided by GHC, it's probably non-trivial to just re-build them.
Preferably something less tedious to rebuild should be used and
something that is not subject to change.
Allow for nesting of paragraphs under lists.

The nesting rules are similar to Markdown's with the exception that we
can not simply indent the first line of a hard wrapped indented
paragraph and have it treated as if it was fully indented. The reason is
differences in markup as some of our constructs care about whitespace
while others just swallow everything up so it's just a lot easier to not
bother with it rather than making arbitrary rules.

Note that we now drop trailing for string entities inside of lists. They
weren't needed and it makes the output look uniform whether we use a
single or double newline between list elements.

Conflicts:
	src/Haddock/Parser.hs
	test/Haddock/ParserSpec.hs
Allow escaping in URLs and pictures.

Some tests were moved under parseString as they weren't about paragraph
level markup.

Conflicts:
	src/Haddock/Parser.hs
	test/Haddock/ParserSpec.hs
Update documentation.