Adds teiid versioning logic to DataTypeManagerService

* Due to Removed, Since and Updated annotations in the
  DataTypeManagerService's enums, the service must become aware of the
  teiid version it is being asked to provide values for.

* getInstance() method should be parameterised with a teiidVersion and
  service instances cached by the class

* AnnotationUtils functions for handling applicability and returning the
  correct value for the Updated annotation

* Lots of calls to getInstance() updated to provide the required
  teiidVersion

* DataTypeManagerService unit tests for both Teiid 7 and 8