Run a module with the shell using -m, as 'python -m' does
Adds -m <module> to longtraceback.shell, using runpy so it behaves as python -m does on Python 2.7 and 3.8 to 3.14 (packages and their __main__, relative imports, sys.argv[0], arguments after the module name passed through, current directory searched).
Replaces the approach in module-script-loading, which imported imp (removed in Python 3.12), was Python 3 only, dropped option-like arguments and did not run packages.
Tested by running modules under both python -m and the shell and comparing what the module sees and its exit code (Shell_test.py). Pipeline 12475 passes: lint, docs, coverage, shell integration tests and the tests on Python 2.7 and 3.8-3.14.