Added "as*Dimension" conversion getter to Dimension frontend entity

Also changed class definition order in Dimension.hpp
Removed pre-declaration in *Dimension classes in Dimension.hpp
Removed one single space :)
Added exception to "as*Dimension" getters in Dimensions.hpp
Added check whether RangeDimension ticks match data of host DataArray
Added dimLabelsMatchData check,started using it & dimTicksMatchData

Corrected mistakes in dimTicksMatchData and implemented the similar dimLabelsMatchData and implemented both being used in DataArray validation.
Streamlined validation semantics using new patterns in various files
Fixed tiny missing comma and braces error