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).