Make sure that generated xhtml is valid (close #186)

Thanks to Phyx.
Fix bug introduced in my recent refactoring.
Cleanup mkMaps and avoid quadratic behaviour.
Require ghc >= 7.4.
Update CHANGES.
Add reference renderings
Set unit tests for parser back to work
Add .gitignore
Add .ghci file
tests/html-tests/copy.hs: Use mapM_ instead of mapM

So we do net get a list of () on stdout when running with runhaskell.
Remove index files from golden tests
Add /tests/html-tests/tests/*index*.ref to .gitignore
Add DocWarning to Doc

The Xhtml backend has special markup for that, Hoogle and LaTeX reuse
what we have for DocEmphasis.
Add support for module warnings
Add tests for module warnings
Add support for warnings
Add tests for warnings
Expand type signatures in export list (fixes #192)
Expand type signatures for modules without explicit export list
Remove obsolete TODO