slightly more failure history support

- move formatting logic from defer.py to failure.py
- add a test for chained history
- add a *failing* test for an outer Deferred's failure
  representing the outer Deferred's callback history.