backends: Do not fail if the passed filename is None

This can happen on buffers not attached to a file, which shouldn't
result in errors.
elpy-project-root: Assume "no project root" on C-g

When the user presses C-g on the project root request, elpy should
assume that there simply is no project root, instead of asking
over and over again.
rpc_get_traceback: New RPC method that returns the last tb.

When the Elpy RPC server catches an error, it returns a summary of
the error in a string. To help with debugging, the new RPC method
now returns the last traceback from any RPC method.
elpy-doc-websearch: Default to symbol at point.

Also, renamed this from elpy-doc-search to make clear what it does.
elpy-test: New function.

This function is a "multiplexer" for nose. Without prefix arg,
it will run `nosetests-all`; with one prefix arg, `nosetests-one`;
and with two prefix args, `nosetests-module`.
elpy-doc: With prefix arg, use pydoc instead of RPC.

When a prefix argument is given, ask for an entry in pydoc to
display. The entry defaults to the symbol at point, if any.
elpy-mode-map: Complete new keybinding arrangement.

Keybindings were streamlined for better memorization. Sorry if that
kills your muscle memory, but I think this is a better thing for
the future.
yas-trigger-key: Should be a string, not a kbd macro output.
elpy.el: Depend on iedit