New autoloaded `turn-on-haskell-unicode-input-method` + documentation

...and also add `turn-on-haskell-unicode-input-method` to the list of
choices presented for the `haskell-mode-hook` variable in the
customization interface.

This addresses #13
Add more content and cleanups to haskell-mode Info manual
Simplify current-command to use `nil` instead of `'none`
Remove unused argument TYPE from `haskell-project-collect`
Refactor `haskell-process-cmd-queue-{add,pop}`

This commit moves the definitions of `haskell-process-{get,set}`
lexically before their use-sites and adds `check-type` assertions for
the CMD argument to `haskell-process-cmd-queue-{add,pop}`.
Remove redundant `max` call
Create `haskell-simple-indent` customization group

This is just a placeholder for things to come
Make `haskell-simple-indent` a proper minor mode

just like `haskell-indent-mode` and `haskell-indent-mode` are.
Revert "Unindent support."

Due to 6cce106 this hack can now be removed again.

This reverts commit c642d7cf09bdc5c26c28ddf7e875c4b63295ded6.
Add three synchronous `haskell-process-queue-*` operations

Namely,

- `haskell-process-queue-flushed-p`
- `haskell-process-queue-flush`
- `haskell-process-queue-sync-request`

These are useful when asynchronous callbacks can't be used, like
e.g. for `completion-at-point-functions`.
Remove optional arguments from `@node` statements

because it's highly recommended by the texinfo manual to
omit those arguments as `makeinfo` doesn't need them.