Whitespace fix.
Asynchronous RPC for Elpy.

This major commit revamps the RPC implementation to handle asynchronous
calls using success/error callbacks. This should allow Elpy to remain
responsive to user input even when the backend takes a bit to respond.

Both auto-complete and eldoc now use the asynchronous interface, which
should speed up elpy considerably.

This closes #52.

Also, the RPC backend is now specific to a Project directory as well
as a Python interpreter. You can set elpy-rpc-python-command buffer-
locally to get this buffer to use a different Python implementation
to run Elpy.

This closes #107.