Travis Integration: Add travis file, and other minor fixes to ensure build works

The new .travis.yml file contains all the instructions travis-ci needs
to build and test stb-tester. I've dry-run it on my public fork of
stb-tester (as can be seen here:
https://travis-ci.org/stestagg/stb-tester/builds/6815758).

In order to accomodate some differences between Fedora and Ubuntu, I had
to tweak the pylint settings. Some of the (more pedantic) exceptions
have been moved into extra/pylint.sh rather than being repeatedly
declared inline.

I also slightly refactored the two context manager classes to use
collections.contextmanager, which is a more common pattern, and also
removes some pylint complaints. The VirtualRemote listener wait time was
also increased slightly to prevent some intermittent failures I was
seeing with the travis VMs.

[Committer's note:

travis-ci.org provides a free service for open-source projects: They
monitor your repository on github, and for every commit they spin up a
VM running Ubuntu 12.04, set it up according to your instructions in
.travis.yml, and run your unit tests. GitHub's web interface shows the
Travis status for each pull request, which is particularly handy.

The pylint changes were necessary due to differences in the pylint
version supplied with Ubuntu 12.04 (0.25.1?) vs. Fedora 17 (0.26).

The formatting change at stbt.py:1240 is necessary to avoid confusing
pylint: You need to disable the E1101 because of poor interface
inference, but doing so seemed to make the pylint parser think that line
1240 had stuff after the opening "(". This meant that the '000000' line
was considered under-indented (E128).
]
stbt.py nosetests: Exit gracefully on failure

The significance of the `threading.Thread.daemon` flag is that the
entire Python program exits when only daemon threads are left.

This way, if the test fails or you press Control-C, the test exits
instead of hanging.

Thanks to Steve Stagg for the tip.
stbt.py: Cleanup: Fix typo in comment