Expose the .cabal pretty-printer as 'cabal format'.

Make it a hidden command for now, because it's not quite ready for general
consumption yet (fields are reordered, comments are not preserved, etc).

See #1504.
'install': allow additional '--hoogle-*' options.
.travis.yml: recache the user package DB after installing GHC.

Should fix occasional DeterministicAr failures we're having.
Add --source-entity-line to haddock invocation

This makes source links to definitions coming from TH splices point to
the actual line of the splice, rather than a (non-existing) name anchor.
Merge pull request #1719 from nandykins/master

Add --source-entity-line to haddock invocation
Merge pull request #1712 from 23Skidoo/cabal-format

Expose the .cabal pretty-printer as 'cabal format'.
Relax a version check.

According to @haasn on IRC, '--source-entity-line' will be supported by Haddock
2.14.
Formatting.