This way we can update pip independently before installing the rest, and
avoid installing codecov (and thus coverage which attempts to build C
extension) where it's not needed.
Having a Python script was a good idea back when we could do almost the
same steps on every CI configuration.
This turned out to grow into a complicated script, so it's easier to
split off things for Linux/OS X into a small shell script (and keep
Python for Windows, as I really don't want to use .bat/.ps).