EntityWithMetadata::metadata() getter now returns empty entity when field not set instead of exception.
Fixes to DataArray class, new method in IDataArray and minor changes to testDataArray.

DataArray::createData now creates "data" field in "entity_group" (as it should). Furthermore "setExtent" now throws an exeption if the field is not set. Also a new method "hasData" has been implemented in the interface (and upwards) which is being used by the "setData" methods in "DataArray" to check if "createData" has already been called or not.
Modified all getter (of optional attributes) to return empty entities when field is not set.

Modified getDataTag, getDataArray, getSimpleTag and getSource so that they return an empty entity if the according field is not set. The "size_t" overloads now use the string version instead of own code.
TestDataArray now tests "hasData()" & added missing "bool hasData()" in DataArray.hpp.
All (optional) getter of entities in "DataTag" now return emtpy entity if field missing.

"getRepresentation" and "extent" now return empty entities if field is not set, while "getReference" and "positions" have also been modified to do correct checks before get.
Tiny cosmetic change to "getSource" in "EntityWithSources".
Modified "Source" so that all (optional) getter of entities return empty entities if field missing.

"getSource" now checks if source is in group and returns empty entity if not.
Tiny bugfix to "EntityWithSources".
Modified (optional) getter in "File" to check if id exists and return empty object otherwise.

Modified "getSection" and "getBlock" to check if id exists and return empty object otherwise.
Modified "data" and "linkType" getters in "Representation" to check whether fields exist.
Minor cosmetic changes to Section.
Minor corrections to "getReference" in "DataTag".
Modified (optional) getter of entities in "SimpleTag" to return empty entity if field missing.

Modified "getRepresentation" to return empty entity if field not found and modified "getReference" to check for ownership (id in group) and not just existence (id in block).
Modified "objectName" in "Group" to use native "H5Lget_name_by_idx".

"objectName" in "Group" now uses the native "H5Lget_name_by_idx" instead of the CommonFG wrapper method "getObjnameByIdx". Only but important difference: "objectName" will now not cause an exception if the index is not found but return an empty string.
Merge pull request #152 from balint42/fix_return_empty_entities

Return empty entities in getters of optional attributes if field not found.
Merge pull request #153 from balint42/rewrite_group-objectName

Modified "objectName" in "Group" to use native "H5Lget_name_by_idx".