Fix PEP8 compliance

I don't know why this is working for other people.  I am using pep8 1.2.

[Committer's note: This seems due to pylint more than pep8. I have
tested the change with pylint 0.25 & 0.28, and pep8 0.6.1 & 1.4.6.]
Use fakesink instead of ximagesink during `make check`

Previously `make check` makes a whole bunch of windows appear. This is
really irritating as it interferes with typing on my computer during
`make check`.
Refactor to unify implementations of TCPLircRemote and LircRemote

The difference between TCPLircRemote and LircRemote is that the former
connects to a TCP socket whereas the latter connects to a UNIX domain
socket.  This refactoring unfies the two implementations by introducing
factory functions which inject sockets into the single `LircRemote`
implementation.

This commit saves 5 lines of code but the original motivation was to add
a `hold()` method to the Remote implementations.  Nonetheless I believe
this commit stands on its own.

Neither LircRemote nor TCPLircRemote are intended as public API so this
is not a API break.
.travis.yml: No longer need xvfb

Since cf2b39dc, "make check" uses fakesink instead of ximagesink
so the self-tests don't need an X11 server.