Add custom library header save/restore code.

Should migrate current 1.12 installations from the old QT binary blob
to the new protobuf format.  This won't help us for users upgrading
from 1.11, but all future upgrades should be much smoother.
includes a small roundtrip test.

that's fragile because of translations, right? Someone changes their locale and all the header configs break.
I'd think that's what enums are for, a safe representation of that column type not tied to language

I don't want to code for hypothetical rewrites that may never happen.  It adds complexity now for only possible payoff in the future.  Preserving the enum list for a future migration method would be easy anyway.