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
Why throw DataSetInstantiationException above just to catch and rethrow it here? Seems like we don't need this catch block at all.