That wasn't horrible at all. After testing, provided all goes well I can submit this back to the main TWCS repo if you think it's worth it.
Either way do you mind just reviewing briefly for obvious mistakes?
About almost a year ago we were migrating from 2.1 to 3.0 and we figured out that Jeff's master branch didn't compile with 3.0, but the change to get it running was really minimal:
So we built that jar, added it to the packaged 3.0 and we were good to go. Maybe you might want to consider migrating in two steps: 2.1 -> 3.0, ALTER TABLE, upgradesstables, 3.0 -> 3.1.
And huge thanks to Jeff for coming up with TWCS in the first place! :-)