Python files that are imported as modules or always executed using the interpreter explicitely (`python test.py`) should not have a shebang and should not be executable.
This is mostly a scripted diff, except for the PythonShebangLinter.php changes:
```
find test/functional/ -name '*py' -not -name 'test_runner.py' | xargs sed -i '1{/^#!/d;}'
find test/functional/ -name '*py' -not -name 'test_runner.py' | xargs chmod 644
find electrum -name '*py' -not -path 'electrum/scripts/*' -not -path 'electrum/contrib/*' | xargs sed -i '1{/^#!/d;}'
find electrum -name '*py' -not -path 'electrum/scripts/*' -not -path 'electrum/contrib/*' | xargs chmod 644
find chronik/chronik-plugin-impl -name '*py' | xargs sed -i '1{/^#!/d;}'
chmod 755 contrib/testgen/base58.py
sed -i '1{/^#!/d;}' contrib/buildbot/shieldio.py
sed -i '1{/^#!/d;}' contrib/buildbot/test/abcbot_fixture.py
sed -i '1{/^#!/d;}' electrum/scripts/util.py
```
And `arc lint` to remove a few blank lines at the beginning of files.
Depends on D15446