MeshLib::Mesh: added properties.

Added attributes and methods to manage properties.
Add MaterialID as property instead to store it directly in the mesh element.

Until now the material of the element was stored in the element itself.

Signed-off-by: Thomas Fischer <thomas.fischer@ufz.de>
Setting the material group id from a property vector from MeshLib::Mesh.

Until now the material id was set directly in the MeshLib::Element.
MeshLib::Mesh: Using boost::optional to handle to return non-available property.
VtkMeshSource::RequestData: using boost::optional for requesting mesh properties.