stbt.precondition: Context manager that replaces UITestFailures with UITestErrors

See the docstring of stbt.precondition for details. This approach has
proved very useful when running a single test script hundreds or
thousands of times to reproduce a particular intermittent defect.
stbt.precondition docstring: reStructuredText syntax for code block

To avoid the following `rst2man` warning from `make doc`:

    Definition list ends without a blank line; unexpected unindent.
make doc: Fix stbt.precondition documentation

stbt.precondition's `@contextmanager` decorator screws up the function
signature seen by pydoc, so use some sed to put it back to normal.