Add optional DIR argument to `haskell-cabal-find-dir'

See also 8bc372d where a DIR argument was added to
`haskell-cabal-find-file' as well.
Add convenience command `haskell-cabal-visit-file'

`haskell-cabal-visit-file` allows for quickly locating and jumping to
the nearest .cabal file from a Haskell source buffer, you can now use
`M-x haskell-cabal-visit-file`; with a prefix argument the .cabal is
visited in the "other window".

This commit also updates NEWS and mentions this command in the Info
manual.

Note: This feature has been kept orthogonal to haskell-session.el, as
  it would only complicate an otherwise simple implementation. Should
  the need arise for a `haskell-session`-aware variant, we can always
  define a second version in `haskell-session.el` tightly integrated
  with the `haskell-session` framework.
Add section about rectangle commands to Info manual
Minor rewordings, typo fixes and @xref-fixes in Info manual

The use of @pxref/@xref/@ref is a bit cumbersome, as the result
differs significantly depending on whether html, info or tex output is
generated.