stbt control: New tool to send remote control commands with PC keyboard

This tool is useful when multiple set-top-boxes are under test in the
same room, and it is not safe to use the remote control shipped with
the box to control one because the IR signals are received by multiple
set-top-boxes.

The tool uses the same remote control implementations as 'stbt run'.

A keymap file is required to save mappings of keyboard keys to remote
control keys. It was designed to make it easy to create one from scratch
manually. See `stbt control --help` for detailed information.

It also has a non-interactive mode to send a remote control key from the
command line.
Wording of `stbt control` description in help string
stbt control: Cleanup: Sort imports
stbt control: Use "#" instead of "//" for comments in keymap file

"#" is the more common comment symbol in scripting languages and
configuration files.
stbt control: Cleanup: `load_keymap` takes `file` object, not filename

This makes it easier to test, and is consistent with the way we test
file-like objects in stbt.py.
stbt control: Nicer error message when user hasn't created keymap file
stbt control: Cleanup: Inject `argv` into `main` function

For a slightly cleaner test. In this case it doesn't make a huge
difference, but I want to encourage a dependency-injection style where
possible.
stbt control: Cleanup: Use standard doctest output checking

...instead of assertions. This way, if the real & expected outputs
differ, we'll see what the differences are. With the assertion, we'll
only see that "False" is not "True".
test_that_stbt_control_sends_a_single_key: Don't print NullRemote message twice

The output from "tests/run-tests -v test_that_stbt_control_sends_a_single_key"
was confusing because it looked like "stbt control" had called
"stbt.press" *twice*, when really the second time was printed by the
"grep" command.
stbt control: Cleanup: Fix pep8 indentation errors

stbt-control:192:9: E128 continuation line under-indented for visual indent
stbt-control:254:9: E128 continuation line under-indented for visual indent