Format path correctly before adding it to PYTHONPATH

Previously, we were not dealing with PYTHONPATHs correctly. We added
the full resolved URI (e.g. "file:/path/to/hello.py") to PYTHONPATH,
but python does not understand URI scheme prefixes. We need to strip
this prefix to add the correct path (e.g. "/path/to/hello.py") to
PYTHONPATH. Without this commit, --py-files does not work.

This is a non-trivial change, however, as it requires us to correct
all python file paths before we add them to the PYTHONPATH. We must
still resolve the URIs of these paths, so they are added through
`sc.addFile` properly.

Fun fact: before this commit, pyspark applications still work with
--py-files. This is a fluke, however, because in PythonRunner.scala
we construct the PYTHONPATH by concatenating strings with the ":"
separator. However, a file path "file:/path/to/hello.py" is interpreted
as two separate paths, "file" and "/path/to/hello.py." It just so
happens that the latter path is also an absolute path, so python is
still able to load the "hello" module completely by chance.