Unify Elisp boilerplate headers

This is a follow-up commit to 2b23eea0fa
Switch haskell-unicode-input-method.el licence to GPLv3+

See #13 for approval message by original author
Add new `haskell-utils.el` module for addressing #187

This module's purpose is to provide a place for helper functions which
are general enough to be usable by multiple modules and/or to
alleviate circular module dependency problems.
Move haskell-read-directory-name to new haskell-utils.el

This addresses #187 by removing the haskell-cabal->haskell-process
dependency.
Enhance `haskell-process-do-info` to support import statements

This makes `haskell-process-do-info` trigger a `:browse!` query
instead of an `:info` query when called with point on an
import-statement line.

This addresses #186.
Emit warning if `haskell-process-set' called with nil PROCESS

This is a follow-up to 92b87a85c
Drop legacy support for emulating `match-string-no-properties'

The function `match-string-no-properties' has been available since
Emacs 20.3 so there's little reason not to depend on its existence.
Remove re-definition of `with-syntax-table' macro

This dubious hack seems to have been necessary for versions prior to
Emacs 22, but as we officially support only Emacs 23 or later
currently, this can be safely removed.
Remove support for XEmacs' `fume'/`func-menu'

This simplifies code maintainance by removing bit-rotting code which
can't be tested currently.
Convert `haskell-decl-scan-mode' to use `define-minor-mode'

This commit also removes some more pre-Emacs23 legacy code and
cleans up the mode's doc-string.
Add "Getting Help and Reporting Bugs" section

The section mentions the mailinglist and points to GitHub's issue
tracker.
New customize group `haskell-decl-scan' and two new flags

This adds the new customize group `haskell-decl-scan' with the two new
flags:

 `haskell-decl-scan-bindings-as-variables'

for controlling whether to put value bindings into the "Variables"
category, and

 `haskell-decl-scan-add-to-menubar'

for controlling whether to add "Declarations" menu entry to menu bar.
This commit also adds the new info manual node

 `(haskell-mode)haskell-decl-scan-mode'

describing the purpose of `haskell-decl-scan-mode'.
Minor clean-up in `haskell-ds-generic-find-next-decl'

This replaces an `(format "%s" (buffer-substring ...))` occurence by
the more appropriate `buffer-substring-no-properties' function.
Display output as `haskell-mode' when using :t/:i/:k from the REPL
Fix indentation in haskell-mode.el
Added `haskell-rgrep' for grepping the effective project

I've been using this function for some months, might as well add it to
haskell-mode. I tend to use the keybinding M-, as a kind of complement
to M-.
Fix LambdaCase indentation in haskell-indentation.el
Merge pull request #188 from errge/master

Fix LambdaCase indentation in haskell-indentation.el
Follow-up to 22cd90b adding entry to NEWS file (re #188)
Don't jump a whole line on DEL at the leftmost indentation

The previous behavior was to jump to the previous line by hitting DEL
just once when there were no indentation points to the left anymore.
This was quite confusing and almost never intended from the user's
point of view.  If the user is still backspacing when there are no
indentation points left, chances are that we screwed up something
already and the user is intending to indent somewhere unknown.  Better
to just fallback to regular DEL behavior then.