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.