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.
Tiny renaming fix to make code compile with clang.
Merge pull request #156 from balint42/fix_optional_obligatory_1

Heavy rewrite of DataArray and Dimensions.