introduce a new `test-run-complete` condition, and signal it when test
runs are complete.

This serves as an integration/extensibility point for other systems.

In my case, I'm going to have my continuous integration server listen
for this condition and process the test results, something like:

```lisp
(handler-bind ((lisp-unit:test-run-complete
                 #'(lambda (trc)
                     (process (lisp-unit:results trc)))))
  (asdf:test-system :foo))
```

refs #3
support test output using the test anything protocol

Converts a test-result object into TAP format. Two new functions:
 * `write-tap`
 * `write-tap-to-file`

To manage the indentation levels TAP wants, this uses
[pprint-logical-block] and heavily uses the [~I] format directive,
which is shorthand for [pprint-indent].  This gets a little tricky
because indentation levels only take effect after a newline.

[pprint-logical-block]: http://www.lispworks.com/documentation/HyperSpec/Body/m_ppr_lo.htm
[~I]: http://www.lispworks.com/documentation/HyperSpec/Body/22_cec.htm
[pprint-indent]: http://www.lispworks.com/documentation/HyperSpec/Body/f_ppr_in.htm

refs #3
enable print-pretty for TAP results
remove extraneous hyphen
Merge pull request #10 from AccelerationNet/tap

Tap output based off existing tap branch