New option `haskell-process-log` for controlling "*haskell-process-log*"

The primary purpose of "*haskell-process-log*" is for debugging
communication with the inferior GHCi process, however the buffer keeps
filling up without bounds and is of little value for
non-developers. Thus, the default setting of the new
`haskell-process-log` is `nil` which disables logging to
"*haskell-process-log*".
Optimize comparisons in `haskell-indentation.el`

This performs the following replacements:

- Replace `equal` with `string=` if at least one operand is a
  string literal.

- Replace `equal` with `eq` if at least one operand is guaranteed to
  be a symbol.

- Replace `member` with `memq` if ELT is a always symbol or if LIST
  contains only symbols.

- Use `match-string-no-properties` instead of `match-string` in
  `haskell-indentation-peek-token` to avoid carrying around unused
  meta-data.
haskell-indentation.el: Add support for UnicodeSyntax tokens

This adds support for handling the UnicodeSyntax symbols `→`, `←`, and
`∷` tokens like their ASCII counterparts `->`, `<-`, and `::`
respectively.

This should resolve #2 as well.
Use `font-lock-preprocessor-face` for CPP directives

This also changes to use `font-lock-warning-face` for Git's merge
conflicts annotations (see also a469367).

Note: Users will most likely want to customize
      `font-lock-preprocessor-face` now, as the current default looks
      just like `font-lock-function-name-face`.

This hopefully resolves #154.