Versioning catalog items (take 2)

Leaving here for early feedback.


Supercedes #92 
is deserializing this going to be problematic?