Introduce black, a Python code formatter. Also a Makefile that
includes two common targets:
* fmt (auto-format the code)
* lint (lint the code and return non-zero if out of spec)
We can re-use the latter in CI.
By introducing a code formatter, we can cut down on stylistic
variations across a now-large codebase. We can also avoid most style
discussions in PR if we just have this thing enforce it for us.