Validation tests & corrections

In the course of extending TestValidation to test _all_ possible check cases many small corrections to the validation code have been made.
The only more complex modification is that DimensionType now comes with an ostream overload and a util function to convert it to string that uses this ostream overload. This is being used in comparing units on tag references and Dimensions, to avoid throwing errors on SetDimensions which have no units by nature and thus shall not mean a unit mismatch.
I don't understand the logic the util functions should not know about the dimensions, they simply check whether two units are scalable versions of each other and then the mentioned comparison must fail. Similar, isScalable called with vectors should not care about the dimension they come from. So probably this comment should go to util.cpp...
If the helper needs to know this then it should, imho, only be the helper, it should not leak into the util functions.