Fixing handling of empty strings by setters.

Adressing issue #89 three principles have been implemented:
-all setters that accept strings now throw a runtime error if the string is empty

The following setters change:

NamedEntity::definition
NamedEntity::name
NamedEntity::type
DataArray::label
DataArray::unit
DataTag::extents
DataTag::positions
RangeDimension::unit (also added "forceUpdatedAt();")
RangeDimension::label (also added "forceUpdatedAt();")
SampledDimension::unit (also added "forceUpdatedAt();")
SampledDimension::label (also added "forceUpdatedAt();")
Property::mapping (also added "forceUpdatedAt();")
Property::unit
Section::mapping (also added "forceUpdatedAt();")
Section::repository (also added "forceUpdatedAt();")