stbt._X11Remote.press: Log keypress

Just like all the other remote-control implementations. This makes
debugging test failures much easier.

Arguably the logging should be done by `stbt.press`, but for example the
`_SamsungTCPRemote.press` implementation logs "Pressed" first and then
logs the reply; and `NullRemote.press` logs "Ignoring request to press".
Merge pull request #203 from drothlis/log-press

stbt._X11Remote.press: Log keypress
stbt batch run: Add "-o" to specify output directory

This makes it easier to run "stbt batch run" as the target of an ssh
command. For example:

    ssh server.example.com stbt batch run -o /var/stbt-results/ ...

I didn't want to use "-C" a la make/tar/git because one day we might
want to use that to specify the input directory to save typing long test
pathnames. (`stbt batch run -C /long/path/to/tests test1.py test2.py`
instead of: `stbt batch run /long/path/to/tests/test1.py
/long/path/to/tests/test2.py`.)

"stbt batch run" doesn't output a single file so I think it's safe to
use "-o" for the output directory command-line option.

This doesn't support spaces in the output directory name, due to a bug
in "stbt batch report".
Merge pull request #204 from drothlis/stbt-batch-run-output-dir

stbt batch run: Add "-o" to specify output directory
test_that_stbt_run_exits_on_ctrl_c: Increase timeout

It seems hard to believe that the "stbt run" process is scheduled 20
times before its parent process, but this was failing occasionally on
Travis.

If the test still fails on Travis with this increased timeout, we'll
know for sure that there's something else going wrong.