stbt batch report: Ignore invalid values in "extra-columns"

The extra-columns file can contain user-provided data (from the user's
pre-run, post-run, or classify hooks) so `stbt batch report` shouldn't
die because of an invalid value in one testrun (`stbt batch report`
reads the extra-columns information for every testrun, when generating
the summary html report).
stbt batch report: Show jpegs in testrun html view

`stbt batch run` doesn't generate jpegs, only pngs, but the user's
own test script, or pre- or post-run hooks, might do.
stbt batch report: Don't show "thumbnail.jpg" among test-run logs

Commit d220b984 started saving a thumbnail.jpg for each test run.
It's used as the thumbnail for the video. We don't want it listed
as a link alongside stdout.log etc.
stbt camera calibrate: Silence pylint warning

pylint 1.3.1 was complaining:

    [W0632(unbalanced-tuple-unpacking), fit_fn] Possible unbalanced
    tuple unpacking with sequence defined at line 547 of
    scipy.optimize.minpack: left side has 2 label(s), right side has 5
    value(s)

which is clearly not true, according to the scipy documentation:
http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.curve_fit.html
stbt.Region.contains: Allow passing `None` as parameter

This allows the function to take the output from `Region.intersect` or
the `region` attribute of a non-matching `TextMatchResult`.
Refactor: Use builtin `enumerate(...)` rather than `zip(range, ...)`

I added a few instances of enumerating elements in a list for iteration
with:

    for n, x in izip(range(len(l), l):
        ...

This is a much less clear than using the `enumerate` builtin and requires
importing `izip`.  I had used `izip` and `range` because I didn't know
about `enumerate` at the time.
Merge pull request #228 from wmanley/enumerate

Refactor: Use builtin `enumerate(...)` rather than `zip(range, ...)`
make check-nosetests: Ignore user's PYTHONPATH

I had PYTHONPATH pointing at a different, installed, version of stbt and
it caused nose's test-collector to fail.

We already set PYTHONPATH for `make check-pylint`. Since 68983e0 we
neither set nor clear PYTHONPATH for `tests/run-tests.sh` (aka
`make check-integrationtests`) but I'm not sure whether I should leave
that as it is, or set `PYTHONPATH=` -- so I'll leave it as it is.
stbt camera selftests: Avoid spurious error message

Each test is run in its own temporary directory so in most cases this
file doesn't exist (however some tests call `start_fake_video_src` twice
so the `rm` *is* necessary).
stbt camera selftests: Cleanup `run_validation` arguments
stbt camera: Basic documentation
Travis: Cope with ftpmirror.gnu.org being down

Sometimes builds fail because ftpmirror.gnu.org is down.  With this change
Travis will fall-back to downloading GNU parallel from main GNU FTP site
instead if the mirrors fail.  Failing that we don't bother with GNU
parallel at all and gracefully degrade to running the tests in series.