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.
ElementTreeModel::setElement: Use material data from mesh instead of the id of the element.
Implemented adding of properties to mesh via overloading.
Added method Mesh::getPropertyVecNames().

This method returns the names of available properties.
Adding property vecs of the mesh to vtkUnstructuredGrid.

Since the use of the names of the property vecs of the mesh it is also possible to remove attribute _matName.