Customize option: haskell-completing-read-function

(This is intended to be merged after the build was fixed)
I found it is better to use a custom `haskell-completing-read-function` variable.  This is because while `(defvar completing-read-function)` does not give errors in emacs23, any function calling `completing-read-function` will fail because the value is `nil`.

Instead of the defvar approach, I changed everything to use `haskell-completing-read-funcion` and added a customize entry with default `ido-completing-read` and some possible choices.

Best,
Markus