Integrate interactive-mode with Emacs' `next-error` facility

This support `next-error-follow-minor-mode` (which can be toggled via
the new interactive-mode keymap binding `C-c C-f`)

Moreover, `RET` now uses `(next-error 0)` when over a compile-message
heading, and with `SPC` `(next-error-no-select 0)` is used.

Note: The default bindings for `{next,previous}-error` are `C-x
\``/`M-g n`/`M-g M-n` and `M-g p`/`M-g M-p` respectively, and work
from all buffers assoicated with the Haskell session (i.e. REPL and
source file buffers).

This addresses #62.
Small formatting tweaks, reshuffle.