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.