COOPR-617: Resource versioning

This PR also include changes for https://issues.cask.co/browse/COOPR-195. 
Just saw that `getVersionFromString` also sends a response in certain conditions. Let's think of a way to make this more clear.

For example, if we change the condition here (`version <= 0`), then we would also have to be careful and make sure to change the condition in `getVersionFromString`, which isn't good.