Versioning catalog items (take 2)

Leaving here for early feedback.


Supercedes #92 
It will be. I've put a note to myself to check if it can be done in a backwards compatible without introducing additional properties. Not sure if it's worth doing anything though because this concerns only catalog.xml deserialization which I haven't seen used with libraries so far.

I'll check if I can do anything about it and if not will ask for feedback on the mailing list.