extra/runner selftests: Increase timeout

`test_runner_sigint_twice` was seen to fail with:

    error: Didn't find 'test.py...' after 2 seconds
extra/runner/run: Take screenshot on *failure*
extra/runner/templates/testrun.html: Cleanup: Whitespace & field order

In the next two commits I'll be adding more code to the "failure reason"
and "extra columns" fields, so some vertical whitespace will make things
a little bit clearer.
extra/runner: Web server to allow interactively editing the failure-reason

If you run `server 0.0.0.0:5000` from the directory containing the
testrun results, you can then view the html reports at
`http://hostname:5000/` and double-click on the "failure reason" field
(in the right-hand test-run details pane) to edit it. Your change will
be POSTed to the web server, which will update the underlying
`failure-reason` file and the testrun and summary `index.html` files.

Note that if you don't want the interactive editing feature, you can
still view the html report locally (using a `file:///...` url), or you
can serve the report as static html files with a web server like apache.

You have to press "refresh" in your browser to see the failure-reason
change reflected in the summary table. This is because the test-run
details html is in a separate iframe, and I don't know how javascript in
the iframe can access the parent document.

`server` saves the user-given failure reason to `failure-reason.manual`,
so that re-running `report` won't overwrite the user's failure reason.
If `failure-reason.manual` exists it is displayed in the reports instead
of `failure-reason`.
extra/runner/templates/testrun.html: Cleanup: Extract in-line styles
extra/pylint.sh: Avoid extra blank lines in output from `make check`

Commit 72ab49b6 added this `echo` line to avoid the clutter of pygobject
deprecation messages we can't avoid. But it had the effect of printing
an additional blank line for files that *didn't* print that deprecation
message.
test_that_verbos*: Don't use source-pipeline from *user's* configuration

It didn't affect the result of these tests, but it was very confusing
to the person who ran `make check` to see a window pop up briefly with
real video from a real capture card.