stbt.press: Ensure minimum delay between subsequent key presses

Our usual way of ensuring that remote control keys are pressed at
the right time is:

stbt.press(key1)
stbt.wait_for_match(template)
stbt.press(key2)

Due to the enhanced template match algorithm introduced in commit
ac97d6dd, wait_for_match might return so fast that some set-top-boxes
miss the second key press. According to our measurement results
these set-top-boxes require a certain minimum delay between subsequent
key presses in order to register every key.

This commit adds a new optional parameter `interpress_delay_secs` to
`stbt.press` that specifies a minimum time to wait after the preceding
key press that `stbt.press` ensures. The default value of this parameter
is read from the parameter of the same name in the `[press]` section of
the stbt config file.
tests for stbt.press interpress delay read config from tests/stbt.conf

The pattern used by all these tests is to use a `$STBT_CONFIG_FILE` (set
by `tests/run-tests.sh` to `tests/stbt.conf`) that contains the same
defaults as `tests/../stbt.conf`. This is necessary because
`$STBT_CONFIG_FILE` overrides the user's
`~/.config/stbt/stbt.conf` (which has configuration outside of our
control, that could break the tests).

This commit makes `test_that_press_waits_between_subsequent_presses` and
`test_that_press_reads_default_delay_from_stbt_conf` use the same
pattern used by all the other tests. Otherwise, the user's configuration
might have a "source_pipeline" that doesn't work, and thus causes
`stbt-run` to fail.
tests: Add test_that_press_doesnt_wait_any_longer_than_necessary
Merge branch 'interpress-delay'

* interpress-delay:
  tests: Add test_that_press_doesnt_wait_any_longer_than_necessary
  tests for stbt.press interpress delay read config from tests/stbt.conf
  stbt.press: Ensure minimum delay between subsequent key presses