Rope completion: Handle errors gracefully.

When rope can't parse a file, it'll throw errors, which can
be very annoying when working on such a file. This catches
those errors, transforms them into a message, and handles
them gracefully.
elpy-refactor: New command (by default on C-c C-r)

This brings up a refactoring interface that queries the user for
refactoring actions to use, asks for arguments, and provides a
refactoring interface that displays the change and can be committed
using C-c C-c like other similar buffers.

Fixes #28
elpy-project-root: Create directory if it does not exist.

Creating a file in a directory that didn't exist and setting
the project root there caused an error. This commit should fix
that problem.
ropebackend.rpc_get_calltip: Be a bit more smart about parens.

The prior routine to find the calling method name simply looked
for the last opening parenthesis, which gets confused if there's
another method call in the way. The new routine is slightly more
smart by ignoring matching parentheses.