elpy-eldoc-documentation: Remove spurious debug code.
New module: pyvenv
elpy-set-test-runner: New command.
Never require a match for company.

Without this option, company will require a match as soon as the
user starts completing options (e.g. using TAB).

See https://github.com/company-mode/company-mode/issues/120 for
a discussion of this issue.
New navigation functions.

C-<cursor> navigates between indentation levels.
M-<cursor> moves indentation blocks around.

The old navigation functions were removed.
Jedi debug facility.

The Jedi library has its own debug tracing facility. We're now
using this to provide further information about bugs in the library,
to make it easier for the Jedi authors to reproduce them.

Implements #219.
The new navigation commands only work in Emacs 24.3 and newer.

The old Python extension in 24.2 and earlier lacks the required
navigation functions, and backporting them would take too much
code.
Depend on pyvenv 1.2

This is required for backward compatibility with 24.2 and earlier.
Distinguish between project and library root.

Elpy now has two different concepts for "root directories". The project
root contains all files of a project, while the library root is the
base directory from which the current file could be imported. For many
projects, these are the same, but that's not always the case.

The project root interface now has a more elaborate way of being
configured, with a number of different options.

This also fixes #235.
Handle Lisp errors in RPC error handler correctly.
Actually do not require a match from company.

The piece of code accidentally went into the elpy module, not
the company backend. Oops.
Calltip improvements.

The Jedi backend now highlights the current argument correctly.

The Rope backend now finds a signature even if point is on the closing
parenthesis.
In elpy-promise-wait, accept output from Elpy RPC specifically.

This is a non-generic hack in the promise implementation which works
around a bug in Emacs. See Emacs bug#17647 for details:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17647
Rework completion API to provide more than two values.

This now allows backends to transfer additional information to
company, for example annotations.

Fixes #179.

This also should implement #216.
Company: Remove backends that interfere in Python buffers.
Add .cask to ignored project directories.
Enable dabbrev expansion in comments and strings.
RPC now supports warnings, errors, and errors with tracebacks.
Provide completion meta information from the backend directly.
Change python-check-command unless the user modified it.

As flake8 depends on pyflakes, the former check always succeeded,
never setting the flake8 value.