uvcvideo-dkms: Increment DRIVER_VERSION

Otherwise package installation fails as the version number is the same as
the one currently installed in the kernel.
Ignore pylint 1.x errors related to GObject Introspection

pylint 1.1.0 raises all sorts of E1101 (no-member) errors around classes
from gi (GObject Introspection). This is in spite of pylint-brain code
that specifically attempts to understand GObject Introspection.[1]
In theory the pylint-brain code should instead read the introspection
data from the GI registry and provide dummy classes with all the right
members.

This commit just turns off pylint for any GObject or GStreamer classes.
It isn't ideal, but at least `make check-pylint` is *somewhat* useful
again.

Furthermore python's inspect.py raised a bunch of GObject-related
warnings, presumably to do with the modules imported by pylint-brain.
The warnings obscured the output of `make check` so this commit hides
those warnings.

[1] https://bitbucket.org/logilab/pylint-brain/src/6785d1aa/brain/py2gi.py
run-tests.sh: Ensure that environment variables are set when sourcing tests

I ran into an issue where I had something like:

    some_file="$testdir/filename"

in my test script.  This was being evaluated at test discovery time so the
filename was not what I was expecting.  This commit fixes this issue by
exporting those constant test variables before doing test discovery.

This restores the behaviour from before 4843875.
debian: Add make variable DPKG_OPTS

This allows building packages without signing, which is faster and thus
more convenient during development.  Usage:

    make stb-tester_0.19-1_amd64.deb DPKG_OPTS="-uc -us"
make obs-publish: Don't publish Debian packages

This requires actually building the "debian-src-pkg" folder, which
requires a Debian machine. The Debian packages don't actually build
anyway, because the dependencies aren't met on current Debian
stable (and OBS doesn't build packages for Debian testing).
make obs-publish: Don't fail if OBS package doesn't exist yet

(For example if you run `make obs-publish OBS_PROJECT=my-new-project`.)
rpm spec file: Add missing dependency "moreutils"

For the "ts" command, used by "stbt batch run".

Note that on some OSs the moreutils package is a pain because it
contains a utility called "parallel" which conflicts with GNU parallel
from the "parallel" package. However on Fedora the moreutils version
is shipped separately in the "moreutils-parallel" package.
make all: Built extra/stb-tester.spec

This caught me out when (manually) building an RPM for release.
pylint.sh: Ignore pylint 1.x errors regardless of the punctuation

Commit eb78c30 modified extra/pylint.sh to hide the following
messages (among others):

  assertion 'G_TYPE_IS_BOXED (boxed_type)' failed
  assertion 'G_IS_PARAM_SPEC (pspec)' failed

however on my system (Fedora 19) they appear like

  assertion `G_TYPE_IS_BOXED (boxed_type)' failed
  assertion `G_IS_PARAM_SPEC (pspec)' failed

Note the difference in punctuation: backticks instead of apostrophes.
This might be a Linux vs. BSD issue.

This commit modifies the expression to match any character instead of
apostrophes.
tests/test_stbt_batch_report_pages.py: Selenium tests for stbt reports

High-level tests to verify the dynamic behaviour of stbt batch report
pages, implemented in `edit-testrun.js` and `instaweb`. They are using
the Firefox driver only.

This commit adds three tests that exercise the following functionality:
* hide a test run;
* modify "Failure reason";
* modify "Notes".

Dependencies: `selenium` pip module and Firefox.
.travis.yml: Set up Travis CI to execute Selenium tests

Travis cannot display a GUI but we can run the tests in a headless
browser.

Configure xvfb (X Virtual Framebuffer) to imitate a monitor,
following the instructions at
http://docs.travis-ci.com/user/gui-and-headless-browsers/.
test_stbt_batch_report_pages.py: Skip tests if Selenium is not installed
tests/test_stbt_batch_report_pages.py: Pylint fixes

To pass `make check`.
Merge branch 'selenium-tests'

Closes #131.

* selenium-tests:
  tests/test_stbt_batch_report_pages.py: Pylint fixes
  test_stbt_batch_report_pages.py: Skip tests if Selenium is not installed
  .travis.yml: Set up Travis CI to execute Selenium tests
  tests/test_stbt_batch_report_pages.py: Selenium tests for stbt reports
Revert "Merge branch 'selenium-tests'"

This reverts commit 9e14f166, reversing changes made to 0f64474f.

Because the Selenium tests are failing on Travis:
https://travis-ci.org/drothlis/stb-tester/builds/22425708
Smart TV Support: Add command stbt camera

Entry point for stb-tester support for pointing a camera at a TV.  It is
just a placeholder for now.  Real functionality will be added in later
commits.

Building camera support is optional, as is installing it with rpm as the
RPMs are split into stb-tester and stb-tester-camera.  This will allow
expressing additional dependencies required for camera support but not for
the rest.
Smart TV Support: Add helper library for generating videos based on stills

Calibrating the camera for Smart TV support requires displaying
reference videos on the TV.  We will generate these videos on the fly
to make it easier to change them and it means we don't need to ship
100s of MB of video files with the stb-tester package.

This commit adds helper functions for generating video files based on
a series of stills.  These stills are provided as a Python sequence so
a generator of stills can be used.  This can be used to great effect
for creating dynamic videos by providing a generator which yields SVGs
modified on the fly.

`frames_to_video` generates MPEG4+AAC videos in either a mpeg-ts
container or MP4.  This is configurable because my Panasonic TV doesn't
like mpeg-ts and my Samsung TV doesn't like MP4.
Smart TV Support: Add tv driver

Calibrating the camera for Smart TV support requires displaying
reference videos on the TV.  This commit introduces an abstraction
"TV Driver", an instance of which will control the TV by some means
to display a given named video.  TV Driver generates videos on the fly
based on configuration passed in on construction (via
`tv_driver.create_from_args`).

The idea is that there might be multiple ways of getting a TV to display
a video, e.g. via DLNA or modulator support.  This commit introduces
a lowest-common-denominator approach "manual" where it's up to the user
to make the video be displayed.  We just provide them with an HTTP URL
from which to download the video.

lighttpd is used to host the videos becuase my Panasonic TV did not get
along with Python's SimpleHTTPServer.  Probably because it was single-
threaded or maybe SimpleHTTPServer doesn't support range requests.
Smart TV Support: Add fake TV driver for testing

A "TV Driver" allows us to display a reference video on the TV.  See
previous commit for more details.

This commit adds a TV Driver for testing so we can fake out the
TV/capture hardware to allow us to test the smart TV calibration/
validation steps which require control over the TV.

The fake-video-src introduced here may be very useful in the future for
testing other parts of stb-tester.  It produces "live" video so is more
like using real hardware than a canned stream and provides more
flexibility than videotestsrc.
WIP: fake-video-src: Add overlay