Fixed all entity-handling setters to unset field or throw exception if empty entity passed.

The following setters are affected:

EntityWithMetadata::metadata 	(optional => unset field)
DataTag::extents		(optional => unset field)
DataTag::position 		(obligatory => throw runtime error)
Representation::data		(obligatory => throw runtime error)
Section::link			(optional => unset field)

Adressing issue #89
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();")
Minor bugfixes to prior commits of this branch.
Added an exception for empty string errors.
Merge pull request #147 from balint42/fix_setters

Fix setters