I have added some documentation to msi.py, please let me know if something is still missing.
I have also rearranged the versioning. msi.py now supports two "product lines": snapshots, and releases. Snapshots can be generated by anybody, whereas releases are only published by python.org. Each line has their own ProductVersion scheme: snapshots use major.minor.currentday; official releases use the version from the Python DLL. The relevant information is now extracted from patchlevel.h.
Accordingly, there is no need to specify current_version anymore in config.py, and the "alpha" setting has been renamed to "snapshot".