Remove `arch-tag:` comment lines

Those were used by the "arch" version control system
Rename `test` Makefile target to `check`

...because I catch myself typing `make check`
(because that's the GNU Autotools convention).
Add `check-declare-directory` validation to `make check`
Eliminate most of remaining `make check` warnings (re #105)

This adds various `require`s and `declare-function`s

However, there's seems to be some code-smell here, as there are some
module-dep cycles which seem hard to break without reorganizing the
code. The most problematic module-dep cycle is between the following
modules:

- haskell-interactive-mode
- haskell-process
- haskell-session
- haskell-mode
Replace autoload statements in favor of ###autoload annotations

This also removes the autoloaded load-path manipulation
Tweak haskell-package.el to make it pass `make check`

haskell-package.el seems to be unfinished/dead code
Eliminate warnings (re #105) by removing legacy support

This also drops Xemacs support from inf-haskell; We can't support
Xemacs unless somebody volunteers to take over Xemacs
maintainance/support.
sort ELFILES in Makefile
Add new haskell-compat.el module for legacy support

This module shall be used for backporting/defining features which were
not available in Emacs23.x yet, like the process-live-p helper
predicate.
Disable showing cl-functions warnings in other targets as well

See also c488c90 and #161
Refactor `(require 'cl)` statements

This removes all `(eval-when-compile (require 'cl))` by simple
`(require 'cl)` statements because when we migrate to `cl-lib` (see
#161) we won't need `eval-when-compile` anyway.
Enable byte-compile-error-on-warn for `make check`

This should fix #105 for good
Rewrite `flet`-usage in terms of `funcall`

Alas, `flet` becomes officially obsolete starting with Emacs 24.3;
Otoh, `cl-flet` is not available in the backported `cl-lib-0.3` (due
to subtle differences between `flet` and `cl-flet`). Thus, to avoid
annoying compile warnings, the easiest course of action is to not use
`flet` altogether.
Refactored `make check` target

This introduces "phony" check-* sub-targets instead of the previous
batch-mode operation.
Rename `haskell-site-file` to `haskell-mode-autoloads`

And update the instructions in the README

This matches the convention used by the elisp package system which
generates a `haskell-mode-autoloads.el` file during package install.

This is related to #156
Mark haskell-mode-map autoloaded for convenience
Fixup forgotten references to haskell-site-file

This was overlooked in e4418c3 (re #156)