Versioning catalog items (take 2)

Leaving here for early feedback.


Supercedes #92 
The property is set to NO_VERSION when the object is initialized so it's not supposed to be null ever. But xstream doesn't call constructors when reading from the catalog.xml file which results in null value for the version property. That's why we have to fix it in the getter.