Refactor schema upgrade code.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>