Add __bool__ snippet.
Support running individual tests with the py.test runner.

Fixes #261.
Run the current test module if elpy-test is called at the top level.

Before, running elpy-test at the top level of a test module would
run all unit tests in the project. With this change, it will now
restrict the discovery to the current module.

Fixes #260.
Catch spurious Rope error for bad coding values.

Fixes #265
Test suite cleanup.

Remove a lot of duplicate code and re-use multiple tests between
backends and test methods.
Replace form feed characters with spaces for Jedi.

Jedi is confused by form feed characters. Treating them as simple
space helps.

Fixes #258
Catch Jedi's "no dicts allowed" TypeError.

This is a known bug in Jedi, we just make sure it doesn't bug Elpy
users too much.

Fixes #263
Prevent Jedi from being confused about binary data in docstrings.

Fixes #266