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.