test_that_stbt_run_exits_on_ctrl_c: Ignore failures on Travis

Control-C support in stbt is broken on Ubuntu 12.04, so this test fails
intermittently on Travis. See 24c61e01.

I also changed the test to log its periodic "x bottles of beer" messages
directly to the test-run log, not to a separate file, so that when the
test fails you can see what happened.
Refactor draw_text/push_sample video annotation mechanism

Rename some internal variables, use more intermediate variables, and
factor out the actual OpenCV drawing into `_draw_text` -- all to make
the code a bit clearer.
Refactor: Draw match rectangle using similar mechanism as draw_text

This is a refactoring so that in `stbt.match` we don't have to modify
the frame directly to draw the match rectangle; we only have to register
the MatchResult by calling `Display.draw`, and it will get drawn by
`Display.push_sample`.

We can tell which frame (GStreamer buffer) the MatchResult corresponds
to by looking at `MatchResult.timestamp`. MatchResults without a
`timestamp` come from matching against a user-provided screenshot (not
from live video) so we ignore requests to draw those MatchResults
because we don't know which frame to draw them on.

I wanted to do this refactoring to keep things tidier when we introduce
`stbt.match_all` in a future commit.

In future we might want to do further enhancements to the match display,
for example show the rectangle for longer (so that you actually have a
chance to see it while the test is running), possibly fading out over
time. But for now we display the match rectangle during the single frame
corresponding to the match operation (which is the same behaviour as
existed before this commit). I think that's OK: You rarely look at the
video output while a test is running live, and in the `stbt batch`
recorded video you can pause and scrub to see the rectangle. Fading out
the rectangle might be a bit of work because OpenCV doesn't seem to have
built-in support for alpha blending.
Refactor: Don't do any pyramid level changing inside `_match_template`
Refactor
_find_match is a generator
WIP: API: Add find_all

TODO:

* Documentation
* Tests for annotation
* Reduce duplication
fixup! WIP: API: Add find_all

(Fixes merge error)
Rename `find_all` to `match_all` (and `find_iter` to `match_iter`)

For consistency with `match`.
move `match_all` tests from stbt/__init__.py to tests/test-match.py
stbt.match_all returns an iterator; remove stbt.match_iter

Python seems to be going in the direction of everything being lazy if
possible (Python 3's `range` behaves like Python 2's `xrange`, etc).
You can use `list(match_all)` if you need to force the evaluation.
stbt.match_all docstring
fixup! stbt.match_all returns an iterator; remove stbt.match_iter
fixup! WIP: API: Add find_all

(Fix merge error after rebasing onto draw-match-result)
fixup! stbt.match_all returns an iterator; remove stbt.match_iter