Mesh lib add properties

This PR is for discussion.

- It adds an implemention to manage properties within the Mesh. 
- The properties are not associated to specific mesh items like mesh nodes or mesh elements. The user has to associate properties to mesh items itself. 
- The properties are not restricted to a particular data type, you can use several types like double, vector or matrix types at run time together.
- An usage example is given in the test.
```c++
/// A mapping from property's name to the stored object  of any type.
/// See addProperty() and getProperty() documentation.
```