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