1. update/fix codecheck
Run workflow with pylint 2.15.7
Add a bunch of fiddly and mostly cosmetic changes to
make pylint (and make codecheck) happy.
Also try to run pyflakes3 vs. pyflakes
2. remove Ubuntu 18.04
Ubuntu 18.04 has been removed from github actions, so
we remove it from our workflow as well
This helps with virtualenv although it can open
up another security hole if you end up using an
unexpected python interpreter.
Overall it seems to make sense to err on the side
of usability but it's good to be aware of security.
However, for the remaining utility scripts that require
python 2, we explicitly note this with #!/usr/bin/python2.
Although we could use print() from __future__, this messes
up scripts which use examples as modules.
The simple, if not nicest for 2.7, solution is to use
info(), output() and other mininet.log functions. The disadvantage
is that we may have to adjust things if we change info() to
add automatic newlines, but we can burn that bridge in Mininet
3.x.