Jedi backend should raise error 500 for internal errors.

Else they won't cause our nice new traceback window. That would be
a shame.
Rework RPC interface for a simpler initialization.

The native backend has been removed. The only functionality it
added was rlcomplete-based completion, which was severely limited.

The initialization process of backends has been simplified. This
will allow easier use of state for future extensions.

The simplification made elpy-set-backend obsolete. If you want to
change the backend, set elpy-rpc-backend and restart the RPC
processes.
Extract documentation from completions, add locations.

Elpy now supports both the documentation and the location display
feature of Company. You can use C-d to see documentation for a
completion and C-w to see the source in context.

This change also removes docstrings from the default completion
response, improving performance in the common case, and finishing
the transition from auto-complete to company-mode.
Unify the package short description and add Package-Requires header.