Remove redundant forward-`defvar`
Simplify flymake autoload hacks by `(require 'flymake)`

Flymake has been part of Emacs since version 22, so we can safely
depend on flymake.el being initialized before haskell-mode.el is
loaded. This also fixes a byte-compile warning occuring with recent
Emacs snapshots.
Add missing "provide" to haskell-menu.el
Add `haskell-customize` command and update README

This is inspired by org-mode's org-customize convenience command which
provides a smooth user experience by making sure all modules have been
loaded before opening the customize tree browser.
Refactor `haskell-{process,session}-{set,get}` functions

Under the assumption, that the {process,session} dictionary is
modified only via these functions and that keys are always symbols,
the new code is a bit more Elisp-idiomatic and should be more
efficient.