packaging: Move all "common" into private package _stbt

With the dockerized tools coming up in stb-tester we want to use some of
the stb-tester functionality without incurring a dependency on the rest.
e.g. stbt service needs get/set_config but doesn't need a dependency on
GStreamer or OpenCV.  This has not been possible as all our code was in
a single `stbt.py` file.  The re-organisation 8ae1c0c split `stbt.py` up
into multiple files, but you still couldn't `import stbt.config` without
incurring a dependency on GStreamer.

This commit splits the stbt package into a private package `_stbt` with
no hard dependencies and a public one `stbt` with all of them.  Our
internal tools can now `import _stbt.config` etc. without hacks to
`PYTHONPATH`, etc to get import resolution to work.  It has the secondary
beneficial effect that our users won't think that `import stbt.config` is
a valid thing to do.  We still only officially support `import stbt`.
packaging: Rename `config._set_config` to `config.set_config`

`set_config` is internal to stbt, not internal to config.py.
tests: Fix run-tests.sh's bash-completion on Ubuntu

The default awk implementation on Ubuntu is mawk, which doesn't like
"()" in the pattern part of the awk program. Escaping the parentheses
with backslashes works with both gawk and mawk.

Oddly mawk doesn't complain about the bare parens in the "-F" pattern,
but I can't escape those for consistency because then gawk complains.
.travis.yml: Upgrade pylint to 1.3.1

Now that https://bitbucket.org/logilab/astroid/issue/42 has been fixed.

I had to add a missing W0703 annotation (Catching too general exception)
that wasn't previously caught by pylint.

Pylint now ignores the "include-ids=yes" config setting, so I've removed
it to silence all the associated warnings. stb-tester developers should
upgrade to pylint 1.3.1.
make check-pylint: Silence libdc1394 warning
Merge pull request #223 from drothlis/pylint-1.3

Upgrade Pylint on Travis to 1.3