[SPARK-3634] [PySpark] User's module should take precedence over system modules

Python modules added through addPyFile should take precedence over system modules.

This patch put the path for user added module in the front of sys.path (just after '').
I think that `spark.submit.pyFiles` is allowed to contain `.py` files, too:

```
  --py-files PY_FILES         Comma-separated list of .zip, .egg, or .py files to place
                              on the PYTHONPATH for Python apps.
```

Will this new filtering by `.zip` and `.egg` prevent this from working?