This rearranges the version-dependent pieces in the new more modular style.
I had originally written this before pre-9.2 support was removed and it
had a few more branches then. But I think it is still useful, and there
are some pending patches that might add more branches for newer versions.