release-notes: Prepare for 0.22 features
.travis.yml: Pin isort at 3.9.0

isort is a tool that checks that imports are sorted alphabetically and
grouped in a PEP8-compliant way. Somewhere between isort 3.9.0 and 3.9.4
a change was introduced that breaks our `make check`: Uppercase letters
now sort before all lowercase letters.
Merge pull request #243 from drothlis/pin-isort

.travis.yml: Pin isort at 3.9.0
stbt batch report: Use fixed table-layout

And don't let table cells wrap to more than 1 line; truncate the content
using CSS. This way you can fit more rows in a single screen.

This also prevents the table from ever exceeding the width of its parent
div. If you have lots of extra-columns each column will be quite narrow,
but at least it will be visible (and searchable). They could be so
narrow that I had to add `th { word-wrap: break-word }` so that the
heading is still completely visible.

Since we're using CSS for the table-cell truncation we can include the
full failure-reason and notes in the html, which means that the
client-side search/filtering works on those fields.

I can't use `max-width` (instead of `width`) for the Timestamp &
Duration columns; if the window is wide enough those columns will get
bigger than the specified `max-width`. The CSS 2.1 spec† seems to
suggest that only `width` is valid for `table-layout:fixed` columns:

> In the fixed table layout algorithm, the width of each column is
> determined as follows:
>
> 1. A column element **with a value other than 'auto' for the 'width'
> property** sets the width for that column.
> 2. Otherwise, a cell in the first row **with a value other than 'auto'
> for the 'width' property** determines the width for that column. If
> the cell spans more than one column, the width is divided over the
> columns.
> 3. Any remaining columns equally divide the remaining horizontal table
> space (minus borders or cell spacing).

(emphasis mine)

† http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
stbt batch report: HTML-escape failure-reason & notes in table

To avoid breaking the table layout.

I'm still not sure whether we should also html-escape these fields in
the individual test-run html page; in one of our projects we put html
links into the notes field, and I can imagine that links in the
failure-reason could be useful too. Maybe the way to go would be to
support a subset of markdown (just bold, italic, and links)?