Feature/dataset versioning

Adding support for datasets to have versions. 
1)Dataset Type meta data will store the latest version for a dataset type.
2) Version for Upgrading to new dataset type needs to higher than the latest version for the dataset type existing in the system.
3) REST API to get the latest dataset version is also added.
4) Dependent changes were made by implementing the getVersion method.

https://issues.cask.co/browse/CDAP-483
I know I suggested adding this, but it looks like we're just duplicating existing classes: co.cask.cdap.app.program.Version and co.cask.cdap.common.utils.ProjectInfo.Version.  ProjectInfo.Version represents semantic versioning, so matches better with real project versions.