Add spec tests.

This adds tests for all elements we can create during regular
parsing. This also adds tests for text with unicode in it.
Fix ticket #247.

I do the same thing that the XHTML backend does: give these no special
treatment and just act as if they are regular functions.
LaTeX tests setup
Fixes #253
Use Hspec instead of nanospec

This is motivated by the fact that Haddock tests are not ran by the
GHC's ‘validate’ script so we're pretty liberal on dependencies in that
area. Full Hspec gives us some nice features such as Quickcheck integration.
Compatibility with OverloadedRecordFields changes
Create correct anchors for record selector bindings
Support syntactic sugar
Don't link to overloaded record fields
Print field label rather than selector in Hoogle backend
Add map from selector names to field labels, so LaTeX backend can print them correctly
Initialise missing field with placeholder
Include selectors in exported names
Export FieldMap via InstalledInterface to fix selector names in index

This requires a bump of the interface file version, but I'm not sure how to do
that, or even if this is the right solution.