.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)?
Merge pull request #226 from drothlis/fixed-table-layout

stbt batch report: Use table-layout:fixed
Makefile: [fix] allow minor releases for RPMs

Previously, incrementing the Release number in stb-tester.spec.in to
anything other than 1 would cause the srpm make target to break because
the name of the produced RPM would not match that which was hardcoded to
the "src_rpm" variable.

This commit fixes the issue by substituting the minor release into the
RPM spec file in the same way that the major version is. Users wishing to
create minor releases can now either hardcode the increment into the
Makefile by changing the assignment to the `RELEASE` variable or simply
assign it on the `make` command line, e.g. `make rpm RELEASE=3`.
Makefile: [fix] do not hard code the Fedora release for the RPM

Previously, any created RPM would be named for Fedora 20. Now, the created
RPM targets the installed (and active) OS version. Note that `rpm -E %dist`
returns (for example) ".fc20" *including* the leading dot.
Makefile: add `sudo` specifically for yum-builddep in `make rpm`

`yum-builddep` requires super user privileges, which meant that users
would have to run `make rpm` as root user in order for it to succeed. This
commit adds a `sudo` specifically for the `yum-builddep` call to avoid
running the whole make recipe (and any of its dependencies) as the root
user, which would, for example, create the "VERSION" file with root privs.