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