Rework project root detection to always return a directory.

This used to return nil in certain cases to allow for "no" project root,
but the rest of the code did not work well with this. Now elpy just
issues a warning for a project root equal to the home directory.

This should fix #157.
Rename system tests to functional tests.
And => When in some feature tests
Add some compatibility definitions for Emacsen before 24.3.

This should fix #156.
elpy-rpc--call-blocking: Pass the RPC process to accept-process-output

When the PROCESS argument to a-p-o is nil, it will block for SECONDS
even if there is data available for this process. This is not exactly
what I expected reading the docstring, but that's what it is. Elpy now
passes the RPC process as PROCESS, meaning blocking calls will finish
a lot faster now.
Bump version: 1.2.50 → 1.2.1