flake8 support: Improve flake8 detection and warning display.

First, we set python-check-command to flake8 both when flake8 is
found and when python-check-command is not set to an already
existing command. This is useful for when we have flake8 installed
only in virtualenvs, so not when elpy starts for the first time.

We also use the new variable name for flymake warnings that Emacs
24.4 introduced.

This might or might not help with #57.
Quick Installation: Note you need to require package.

Implements #104.
elpy-rgrep-symbol: Ignore .tox, build and dist directories.

These directories generally do not contain stuff we want to find.

Fixes #110.
elpy-check: Run on the whole project with prefix argument.

Closes #115.
elpy-shell-send-region-or-buffer: Adjust indentation.

When sending the current region, and the region starts out indented,
python.el would throw an indentation error. This change will dedent the
region before sending it.

Fixes #129 and #123.
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.
python-shell-get-process-name: Compatibility definition for older Emacsen.

This should fix #124.
elpy-rpc--call-blocking: Make timeout configurable.

A timeout of 1s caused problems on Travis-CI because they are
slightly loaded.
elpy-rpc--call-blocking: Actually end accept-process-output early.

The call could block indefinitely, even if the timeout passed.
elpy-rpc--filter: Keep reading after one line is processed.

With the old code, if multiple lines arrived at once, we might miss
consecutive lines. This now keeps reading while we have complete lines
available.
elpy-pkg.el.in: Small clean-up
Fix parenthesis error in elpy-pkg.el.in.
Depend on virtualenv again. This accidentally got dropped.
Rename some forgotten instances of elpy-rpc-buffer.
elpy.el: append elpy snippets to directory

The documentation for yas-snippet-dirs specifies that it treats the
first directory specially as the default for storing new snippets. If
elpy grabs that spot by being initialised later then yasnippet will
keep bugging the user to save a new snippet file every time they edit
their own snippets. By appending the directory we ensure this can't
happen.
Rename README.md to README.rst in build.sh
Add compatibility function for python-shell-parse-command.
Add tox.ini, add .tox to .gitignore.
Added Cask, added .cask to .gitignore.