New movement commands.

Control with the cursor keys now move point a bit more intuitively
and helpful around.

Left and right movement will move by word as usual in Emacs, but
will treat indentation levels as words, so you can skip between
words inside the normal line or between indentation levels before
the actual code line.

Up and down will now go to the previous/next code block indented
roughly to where point is currently. This also allows to jump between
class and function definitions more easily.

This fixes #281, #300 and #303.
Fix for open-and-indent-line test.

This regularly fails for random reasons.
elpy-config now points out outdated Python packages.

Outdated packages (currently only Rope and Jedi) are shown with
their newer versions and the option to upgrade them.

Fixes #297.
Ignore syntax error bug in Jedi.

This fixes #314.
Add elpy-version command again.

Fixes #322.
Ignore import errors from Jedi.

Fixes #337.
elpy-config warns about ~/.local/bin not in PATH.

The directory is used by programs installed by pip install --user,
which can cause confusion if they are not found even when they are
installed.

Fixes #324.
Sort completion results.

Elpy now sorts completion results in a more or less intuitive manner.
Normal, public symbols come first, followed by dunder symbols like
__init__, and finally private, single-underscore symbols. Additionally,
the completion results are case-insensitive.

Fixes #321.
elpy-config: Remove superfluous duplicate newline.
Handle bug in Jedi about an unbound local variable.

Fixes #364.
Ignore a Jedi error when __loader__ is None.

Fixes #366.