COOPR-617: Resource versioning

This PR also include changes for https://issues.cask.co/browse/COOPR-195. 
Are we still using `BaseEntity` after these changes?