haskell-mode-buffer-apply-command: use a temporary file

Prior behavior clobbered markers, registers, and the undo stack. Using a
temporary file here allows us to switch to insert-file-contents, which has a
"replace" mode that replaces the buffer contents while attempting to maintain
marker positions.

Also twiddled the buffer-modified-p settings to make the undo stack set itself
properly.
haskell-interactive-jump-to-error-line: don't break on absolute paths.
Fix haskell-interactive-jump-to-error-line, which I broke :-(
haskell-mode-buffer-apply-command: capture error output and display as warning
Fix typo in customize screen
Merge pull request #115 from mtang/master

Fix typo in customize screen
Resolve directories to full path in session config (refs #117).
Require cl and ignore warnings (closes #99).

Courtesy of @bbatsov, so blame him if it breaks on your Emacs.
Fix haskell-interactive-mode prompt detection

This concerncs haskell-interactive-mode and more specifically
'haskell-interactive-prompt'.

To allow e.g. "> " in haskell-interactive-prompt, these issues were fixed:

Problem 1: Given 'haskell-interactive-prompt' matches a haskell expression, i.e. "$
" when a string containing this expression is written into the interactive mode
buffer, it will not be evuluated correctly, because the elisp function that
extracts the user input from the buffer does not search for the prompt string at
the beginning of the line, but simply backwards from (point-max).

Problem 2: Given 'haskell-interactive-prompt' is regex matching more than just
itself, e.g. ".*" the code will not be able to find the prompt reliably.

Solution: Remove direct references to 'haskell-interactive-prompt' from all
regex searches, and replace then with a new function
'haskell-interactive-prompt-regex', that returns a regular expression, that
matches ONLY exactly the prompt string at the beginning of the line, even if it
contains a regular expression.
Fix haskell-mode-stylish-buffer for Emacs < 24. Closes #116.
haskell-mode-contextual-space: don't prompt for new haskell session if it hasn't been setup yet!
Correctly make hooks local

Instead of doing (make-local-variable some-hook) (add-hook 'some-hook...) it's recommended
to use (add-hook 'some-hook ... t) to make it local
fix `haskell-indent-at-point' error if point is at the end of the buffer
Function to load or reload, with C-u to toggle.
Show when reload command was used versus normal load in the minibuffer.
Don't actually run the command with the toggle, and display a helpful message about it.
Allow passing command line args to ghci (closes #121).
Haskell menu mode (initial read-only version). Invoke with M-x haskell-menu.
Adding options for ghc-core-create-core
Merge pull request #122 from fmap/master

Adding options for ghc-core-create-core