Heavy rewrite of DataArray and Dimensions.

DataArray and Dimensions have been modified to implement final version of "optional" vs "obligatory" attributes.
createDimension and appendDimension do not exist anymore, instead createRangeDimension, createSampledDimension, createSetDimension, appendRangeDimension, appendSampledDimension, appendSetDimension have been implemented.
A private, templated _createDimension handles the actual creation of the Dimension entity. All getter & setter now provide boost::optional / boost::none if they are supposed to.
All test cases have been rewritten to work with the changes.