Use the correct ERT for Emacs 24

Make sure downloaded libraries are removed before testing with
Emacs 24, in particular the *.elc files.
Temporarily disable flow-control test

Because it randomly causes all tests to fail.
Fix and enhancements to slime-trace-dialog contrib.

* contrib/slime-trace-dialog.el
(slime-trace-dialog): Change advertised protocol, doesn't fetch
traces automatically, just specs and progress.
(slime-trace-dialog-fetch-specs): New interactive function.
(slime-trace-dialog-fetch-progress): New interactive function.
(slime-trace-dialog-fetch-status): Fetch local control, specs and
progress.
(slime-trace-dialog--clear-local-tree): Simplified.
(slime-trace-dialog--update-progress): "[refresh]" button degates
to `slime-trace-dialog-fetch-progress'.	 "[clear]" button always
shows if there is something to clear. Simplified.
(slime-trace-dialog--on-new-results): Adapt to new
`slime-trace-dialog--update-progress'
(slime-trace-dialog--mode-map): Bind 'g' to
`slime-trace-dialog-fetch-status'.

* contrib/swank-trace-dialog.lisp (dialog-trace): Don't set RETLIST-OF to a
symbol here, backends are responsible for that.
[Fix #72] Convert HACKING to CONTRIBUTING.md
Merge pull request #81 from bbatsov/contributing

Closes #72: Convert HACKING to CONTRIBUTING.md
Add a top level Makefile

* slime.el: Bump version to 2.0.1

* slime-tests.el (slime-test-ert-for): Use `eval-and-compile' (fixes
  byte-compilation issue).

* Makefile: New file: top level makefile, replaces mkdir.sh and
test.sh. Some elpa targets available, still incomplete.

* .travis.yml (script): Use "make check".

* mkdir.sh: Removed file.

* test.sh: Removed file.
Correctly bump version to 2.3.1, not 2.0.1
Closes #17: slime and (read-line) freeze

* slime-repl.el (slime-repl-read-mode): Closes #17: ignore
slime completion `slime-repl-read-mode-map'.
(slime-repl-read-mode-map): Put keymap in its own var.
Move "," binding back to slime-repl-mode-map
Minor cosmetic fixes to slime-repl.el
Rework and and simplify setup instructions

* slime-tests.el (slime-test-recipe-test-for): new function for
testing setup recipes.
(readme-recipe): new test;

* slime.el: don't run `slime-load-hook'.
(slime--setup-contribs): Hide from user. Idempotent.
(slime-setup): Now a command.
(slime-contribs): New variable.
(slime-setup-contribs): Obsolete this variable to point to
`slime-contribs'.
(defun slime-setup-contribs): use `slime-contribs' var.

* README.md: show travis build status for master branch only.
(Quick setup instructions): mention `slime-autoloads' and suggest
adding contribs to load path. Suggest `eval-after-load'.
(Contribs): new section.
(Emacs 23 gotchas): new section.
(Contact): update mailing list info and link to CONTRIBUTING.md.

* slime-autoloads.el: simplify with a `eval-after-load'.

* slime.el: Bump version to 2.3.2

* contrib/README: Renamed to README.md.
* contrib/README.md: New file. Don't mention setup technique.
Misc fixes by Attila Lendvai

* slime-tests.el (slime-test-recipe-test-for): new function for
testing setup recipes.
(readme-recipe): New test;
(define-slime-ert-test): New function for defining vanilla ERT
tests.

* slime.el (slime-inspector-insert-chunk): Use
`slime-inspector-insert-ispec-function'. Patch by Attila Lendvai.

* contrib/slime-presentations.el: cleanup compilation warnings.

* contrib/slime-presentations.el (pick-up-presentation-at-point): New test
by Attila Lendvai.
(slime-presentation-start): Don't go beyond (point-min) when
looking for presentation. Adapted from patch by Attila Lendvai.
(slime-presentation-on-return-pressed): Use `end-of-input'.

* contrib/slime-repl.el (slime-repl-delete-from-input-history): Correctly
calculate merged history. Patch by Attila Lendvai.

* contrib/slime-repl.el (slime-repl-return): Pass `end-of-input' to hooks
run.
Use cl-labels instead of cl-flet, safe for emacs 23.

The cl-flet alias doesn't exist in cl-lib-0.3. Making it is a big
mistake. Better use cl-labels with non-lexical-binding behaviour in
emacs-23 (though a warning is printed)

Bug reported by Paul Bowyer <pbowyer@olynet.com>.

* slime-presentations.el: Use cl-labels instead of cl-flet (safe on
emacs 23).

* slime-trace-dialog.el (slime-trace-dialog--open-specs): Use
cl-labels instead of cl-flet (safe on emacs 23).
Build distribution under top-level directory prefix.

Also, give distribution archive a .tar.gz suffix.  This helps bash
autocompletion for `tar xaf <TAB>'.
Update manual to reflect infrastructure changes.

* slime.el (slime-setup-contribs): typo in docstring and missing
newline.

* doc/slime.texi (Platforms): SLIME supports only GNU Emacs 23.4
and 24.4.
(Downloading): Adapt to Git changeover.
(Git): New node adapted from CVS node.
(CVS): Deleted node.
(Git Incantations): New node adapted from CVS node.
(CVS Incantations): Deleted node.
(Installation): Restructure to match README.md recipe.
(Installation): New subsection "Emacs 23 gotchas".
(Autoloading): Restructure to match README.md recipe. Mention
contribs early.
(Setting up pathname translations): Recommend `add-to-list'.
(Loading Contribs): Suggest variable `slime-contribs', not
function `slime-setup'.
(Loading Contribs): New subsection "Loading and unloading on the
fly".
(REPL): Use `add-to-list' instead of `push'.
(slime-autodoc-mode): Use `add-to-lis' instead of `push'.
Merge pull request #89 from nbtrap/make-dist-prefix

Build distribution under top-level directory prefix.
Fix autoload bug when visiting lisp files early.

* Makefile (SELECTOR, OPTIONS): Respect previous value.

* slime-autoloads.el (lisp-mode-hook): Add `slime-lisp-mode-hook'
to it.

* slime-tests.el (slime-test-recipe-test-for): More generic, takes
`test-forms' and `check-fn' args. Uncomment relevant parts.
(readme-recipe): Adapt to new `slime-test-recipe-test-for'.
(readme-recipe-autoload-on-lisp-visit): New test.

* doc/slime.texi (Git Incantations): Fix typo.
Bundle all external dependencies and run more tests.

* .gitignore: Ignore texinfo files.

* .travis.yml (script): Make "check-fancy" to check contribs, not
just core.

* Makefile (ensure_ert,ensure_cl_lib): Remove targets since these
are bundled.
(compile): Don't download cl-lib.
(check): Don't download ert.
(clean): Look for .elc files everywhere.

* lib/hyperspec.el: Moved from top-level dir.
* lib/ert.el: New file.
* lib/ert-x.el: New file.
* lib/cllib.el: New file.

* slime-tests.el (traditional-recipe): New test, respect
tradition.
(require 'ert): Fallback to version bundled under lib/.
(slime-test-recipe-connect-forms): New var refactored from
previous tests.
(slime-test-recipe-check-repl): New function refactored from
previous tests.
(readme-recipe): Refactored.

* slime.el
(require 'cl-lib): fallback to version bundled under lib/.
(require 'hyperspec): look for version bundled under lib/.

* contrib/slime-parse.el (form-up-to-point.1): Skip for now, then analyse.

* contrib/slime-repl.el (move-around-and-be-nasty): Skip it. Causes other
tests to become unstable.
(interrupt-in-blocking-read): Skip for now, the analyse.

* doc/slime.texi (Installation): Remove subsection "Emacs 23
gotchas".
(Loading Contribs): Clarify function name to call for attempting
unload and give example.
Ignore certain files when exporting with git-archive.

The content of the .gitref file will be changed to the SHA-1 of the
commit being archived.

Also, ignore dist/ directory at project root.
Closes #17: replace cl-eval-when with eval-when-compile

* slime.el (require 'arc-mode): Replace cl-eval-when with
eval-when-compile, broke in emacs 24.2. (Closes #17).