Fix/test builder 1.5

This is a series of fixes for Test::Builder 1.5 all of which remain compatible with 0.98 and earlier.

The major change is that `is()` will now produce the diff as a diagnostic rather than cramming it into the test name.  It's not a good idea to do that in general, and the formatting of test names has changed so newlines are now escaped.

If you can release this ASAP it would help the Test::Builder 1.5 release effort.  A lot of distributions depend on Test::Base.