Make safe-condition-message a bit safer.

CCL ignores *print-cirlce* when *print-pretty* is t
so it's easy to run into endless recursions.

* slime-tests.el (report-condition-with-circular-list): Use
with-standard-io-syntax to override settings from init files that
any reasonable person would have.

* swank-backend.lisp (print-condition): Replaces
format-sldb-condition.  Take a stream as argument so that we can
pass in our stream with limited output length.  No guarantee of
course that this stream will be used in a reasonable way.
* swank-clisp.lisp (format-sldb-condition): Deleted. Whitespace is
now removed anyway.
* swank-sbcl.lisp (print-condition): Use the stream argument.

* swank.lisp (%condition-message): Renamed from
condition-message. Trim whitespace from the result.
(%%condition-message): New function. Use with-string-stream.
Since the length of the string is limited we can also limit
*print-length* without losing anything. Also handle
SERIOUS-CONDITIONs instead of ERRORs, which would have handled
CCL's VECTOR-SIZE-LIMITATION condition during printing.
(safe-condition-message): Just call
*sldb-condition-printer*. People who set that will know what
they're doing.
ChangeLog entry
* Makefile (slime.elc): Rebuild .elc if ChangeLog changes.
Canonicalize 'nil to nil when displaying default optional and
keyword arguments via slime-autodoc. On SBCL this turns
  (error 'simple-condition
         &rest arguments
         &key (format-arguments 'nil) (format-control 'nil))
into
  (error 'simple-condition
         &rest arguments
         &key format-arguments format-control)
which should be more readable.

* swank-arglists.lisp (canonicalize-default-arg): New function for
canonicalizing optional and keyword arguments.
(make-optional-arg, make-keyword-arg): Use it.
Test with 64-bit SBCL and clean up .travis.yml a bit

(We were previously using the 32-bit version because that version
 is older than the 64-bit version which was failing some autodoc
 tests.)
Closes #9: New output respects existing REPL results or presentations.

* contrib/slime-presentations.el (slime-presentation-write-result): Idem,
but for presentation results.

* contrib/slime-repl.el (slime-repl-emit-result): After emitting a result,
        update `slime-output-end' marker.

* contrib/test/slime-repl-tests.el (mixed-output-and-results): New test.
When enabling a contrib, dependencies are also enabled recursively.

Without this, setting up or testing a contrib dependending on others
often fails. Assumes enable functions are quick and idempotent.

* slime.el (define-slime-contrib): Call enable functions for
dependencies recursively. (slime-contrib-all-dependencies):
Renamed from `slime-contrib-all-dependencies'

* contrib/Makefile (check-%): Remove redundant `slime-setup' call and call
`slime-contrib-all-dependencies'.
Closes #114: Don't list normal dependencies as contrib dependencies

* contrib/slime-hyperdoc.el (slime-hyperdoc): Remove :slime-dependencies
on emacs libraries, these should be loaded via a simple require.

* contrib/slime-tramp.el (slime-tramp): idem for tramp.
Closes #112: Clarify use of slime-load-hook, don't use eval-after-load

* slime-autoloads.el (slime): Don't use `eval-after-load'.

* slime.el: Call `slime-setup' at the end.

* doc/slime.texi (Installation): Make the autoload recipe the
default recipe.
(Basic customization): New subsection. Mention `slime-load-hook`
and techniques for customizing keymaps.
Final adjustments to SLIME Trace Dialog before documentation update.

* contrib/slime-trace-dialog.el (slime-trace-dialog): simplify contrib
definition.
(slime-trace-dialog-mode): Also activate
`slime-trace-dialog-minor-mode'.
(slime-trace-dialog-minor-mode): New minor mode.
(slime-trace-dialog--menubar): New single top-level menu for
`slime-trace-dialog-minor-mode'.
(slime-trace-dialog-after-toggle-hook): New hook.
(slime-trace-dialog-toggle-trace): Run hooks.
(slime-trace-dialog-toggle-complex-trace): New interactive
function for calling from the menu.
(slime-trace-dialog--easy-menu): Delete it.
(my-menu): Delete it.
Previous commit broke the Trace Dialog's lighter menu in the modeline.

* contrib/slime-trace-dialog.el (slime): Remove redundant
`eval-and-compile'
(slime-trace-dialog-mode): Don't also activate
`slime-trace-dialog-minor-mode'.
(slime-trace-dialog--menubar): Define same menu for both minor and
major modes.
State some things explicitly.
* lib/.nosearch: New file.  (github issue#115)
Document the SLIME Trace Dialog in the manual

* doc/slime.texi (SLIME Trace Dialog): New section.
Correct install-info dependencies in doc/Makefile

* doc/Makefile (install-info): only set $section when making
"install-info".
Use a style file when generating HTML documentation.

* doc/Makefile (slime.html): Use --css-include=slime.css

* doc/slime.css: New file. Simple stylesheet adapted from the one
used by Maxima (http://maxima.sourceforge.net/).
Closes #5: website and documentation out of date

* README.md: Add link to manual in github pages (hosted under
capitaomorte.github.io for now).
Allow regexp when batch-testing from command-line

* Makefile (SELECTOR): Same default, but allow regexp selectors.
* lib/cl-lib.el: Upgarde to cl-lib 0.5.
* swank-sbcl.lisp (wrap): Adapt to newer SBCL.