Pushed common functionality from ClassCache and ObjectTypeCache to StructureCacheBase. Currently this includes all functionality but most likely some class specific or object type specific needs will arise in the future.

Also added property definition cache after the fact.
.spec and .yaml wanted to reorder themselves internally.