stbt.ocr: log text read by Tesseract

It can be nearly impossible to trace errors originating from an OCR
call because up until now the raw text read by Tesseract was not logged
anywhere in output, unless printed explicitly by the caller.
Merge pull request #101 from LewisHaley/log-ocr

stbt.ocr: log text read by Tesseract
config: Refactor in preparation for adding set_config

With this change calling get_config() to set a default parameter is
no-longer supported.  It wasn't a good idea anyway as:

* It makes the generated documentation dependent on the environment in
  which it is built.
* Changes to the configuration at run time (made with the up and coming
  _set_config) have no effect until the next run.

The documentation is still correct as we already have support for pulling
the defaults from (the default) stbt.conf at build time in `api-doc.sh`.
This required updating the documentation to use the
`default: from stbt.conf` pattern universally.
stbt batch run: Fix spelling in help message
stbt batch: When run from source dir, use `stbt run` (etc) from source dir

Before this change, running `stbt-batch run` or `stbt-batch report` from
the source directory (for example, when run by the self-tests),
`stbt-batch` would use `stbt run`, `stbt config`, `stbt screenshot` and
`stbt --version` from the *installed* location, not the source
directory.

This meant that the self-tests were testing a combination of the
development version of `stbt batch` with the previous installed version
of `stbt run`. This also made it impossible for me to manually test
changes to `stbt.py` via `stbt batch` without running `make install`.

Note that to run `stbt --version` we use `/bin/sh` because `stbt` isn't
executable in the source directory (because it runs
`$libexecdir/stbt-run` etc so it would be confusing to a user who tried
to run it from the source directory).
config: Add `stbt._set_config`

`stbt._set_config` allows writing stbt config files.  This is required for
Smart TV support to allow storing the results of calibration, but it may
be useful elsewhere.

`stbt._set_config` is private and not exposed via the `stbt config` command
as, due to limitations of Python's `ConfigParse` it will currently remove
all comments and normalise all whitespace in the configuration file.  We
may be able to fix this in the future[1] such that we can provide the
function as part of the public API.

[1]: http://stackoverflow.com/questions/6620637/python-configparser-question-about-writing-comments-to-files
Merge remote-tracking branch 'wmanley/set-config'

* wmanley/set-config:
  config: Add `stbt._set_config`
  config: Refactor in preparation for adding set_config

Closes #102.
Merge branch 'debian'