make check: Don't explicitly list python files to test

This increases coverage as you don't have to remember to add your python
file to the list in the Makefile.  It also saves 15 lines of Makefile.

nosetests can't check files with `-` in the name so I use the subst/
wildcard combination to filter those out.
stbt.{warn,debug,ddebug}: don't cast unicode to python-string

Commit 0f71ebe7 made all logging output encoded as utf-8. This was to
support utf-8 characters read by OCR. However, the commit did not update
the `warn`, `debug` and `ddebug` functions, which were casting their
messages to python-string type (which is ascii) and this was causing
errors because you *can't* cast utf-8 encoded characters to ascii (not
just using `str()` anyway). This was raising UnicodeEncodeError.

e.g.:
In [8]: print 'ä'
ä
In [9]: print str('ä')
ä
In [10]: print u'ä'
ä
In [11]: print str(u'ä')
---------------------------------------------------------------------------
UnicodeEncodeError                        Traceback (most recent call last)
<ipython-input-11-383a35edd348> in <module>()
----> 1 print str(u'ä')
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in...
 position 0: ordinal not in range(128)

This commit fixes the issue by removing the `str()` cast. This shouldn't
cause breakage because the python string formatter `%s` used to insert
the message into the output string is *already* calling the objects
`__repr__` or `__str__` methods (so something like `debug(1)` will just
cast the `int(1)` to `str('1')` anyway).
stbt.py: Add test that we can call debug with a Unicode string

This issue was fixed by @LewisHaley in c9d5af8 and reported by Robert
Glas on the mailing list[1].  This commit adds a test so we know it
won't recur.

[1]: https://groups.google.com/forum/#!topic/stb-tester/jpVRfQ5gGyM
Merge branch 'fix-ascii-cast-of-unicode-in-debug'

Fixes github #194
release-notes: Add release notes template for 0.21

This can be filled in as we go along to save having to write the release
notes in their entirety at release time.
stbt batch: Return failure exit status if any of the tests fails

`stbt batch run` now exits with non-zero exit status if any of the tests
in the run failed or errored.  This, in combination with the `-1` option
makes it easier to use from and integrate with external CI systems.
stbt.py: Fix race condition: TypeError on NoVideo

During a NoVideo source pipeline reset `Display.source_pipeline` is
`None`.  If simultaneously `get_sample` times out stbt will try to dump
the source pipeline graph.  This causes `TypeError` to be raised:

      File ".../stbt/stbt.py", line 1493, in get_sample
        self.source_pipeline, Gst.DebugGraphDetails.ALL, "NoVideo")
    TypeError: Argument 0 does not allow None as a value

Thanks to Lewis Haley for reporting this bug and correctly diagnosing the
cause.

Fixes drothlis/#197
stbt._find_tessdata_dir: Honour TESSDATA_PREFIX

This allows me to use a locally-built (not installed) version of
tesseract for testing.