elpy-project-root: Use library root only.

Previously, the project root code used a lot of heuristics to find
the root of the current repository. That is a good intention, but
it fails regularly, finding false project roots (the home directory,
for example), which in turn causes all sorts of issues with the auto-
completion.

The new code simply uses the current directory if there is no
__init__.py, and if there is, traces it up to the directory above
the last __init__.py.

Fixes #99

This also prevents returning of the home directory, should the
user open a file there.

Fixes #72
elpy-enable: Check that find-lisp-object-file-name returns non-nil.

This can return nil if python-mode is autoloaded and not run yet. I
have no idea when that can happen, but it did for the user of #105.

Fixes #105.