Versioning catalog items (take 2)

Leaving here for early feedback.


Supercedes #92 
makes sense -- worth an extra few words in the comment in case someone tries to clean it up i think