stbt-completion: Complete "--control" etc when followed by "="

This bash-completion script already completes the values for options
like "--control"; now it also completes when you've typed in
"--control=".

This limitation didn't manifest frequently, because if you type
"--cont<TAB>" it completes to "--control ", which did work correctly
before this fix.
Makefile: Rebuild stbt when VERSION changes

Because "stbt --version" prints the version number hard-coded into
stbt at "make" time.
Cleanup: Remove unnecessary imports

"time" is already imported at the module's top level; "tempfile" isn't
used by "fake_lircd".
VirtualRemote: Open a new connection to the STB for each key-press

We have a test script that reboots the set-top box, so the VirtualRemote
lost its connection to the set-top box and never attempted to
re-establish the connection, so subsequent "stbt.press" calls failed.

In fact, some of the "stbt.press" calls succeeded silently even though
the keypress was not sent to the set-top box. Even if I powered down the
set-top box after establishing the initial VirtualRemote connection, or
disconnected the set-top box's ethernet cable, subsequent "stbt.press"
calls succeeded. Presumably the operating system queues up the TCP
messages to send, and reports back that the send operation succeeded.

Given that it is so difficult to detect lost TCP connections, the
easiest solution is to simply open a new connection for each keypress.
Note that thanks to CPython's reference-counting garbage collector, each
connection will be closed immediately after the
"self._connect().sendall" call.

This reverts (in spirit) commit 23949c37. I *think* the motivation for
that commit was to reduce the lag of each keypress, but it was done
without any performance measurements. I don't think this has any
practical effect on lag either way; most of the lag comes from the
video-capture part of the pipeline. (Note that remote control keypresses
over LIRC are quite laggy, sometimes; but not the virtual remote.)

Note that I also changed "socket.send" to "socket.sendall", which more
closely matches our intent (sendall† is supposed to block until all data
has been sent, and raise an exception on failure). However, using
sendall still succeeded silently after I powered off the STB or
disconnected the network cable; what makes the difference is that we
open a new connection each time. I decided to use "sendall" anyway as
it seems the right thing to use.

† http://docs.python.org/2/library/socket.html?highlight=sendall#socket.socket.sendall

This change somewhat complicates the implementation of the unit test
"test_that_virtual_remote_is_symmetric_with_virtual_remote_listen"
because virtual_remote_listen *does* continue to support long-lived
connections (for the "stbt record" key-press receiver). Now the test
runs virtual_remote_listen multiple times (once for each connection
established by each VirtualRemote and "press" call in the test) in a
separate thread. In the main thread (running the VirtualRemote client,
i.e. "press") we use "sleep(0.01)" just to force a context switch so
that the listener thread "t" has a chance to call "socket.accept".
README: Update list of python dependencies

* We use python-docutils (specifically, rst2man) to generate the man
  page.
* Since commit 098dc3e0 stbt.py no longer requires pygtk.
README: Correct and expand the "Test script best practices" section

We should crop template images tightly, not largely, ever since commit
ee28b8e9.

The remaining points are just things we have learned as we write more
and more stbt scripts.