First version of the new DepthMap base type

This type should be able to represent distance informations collected with different types of sensors (3D lidars, rotating 2D lidars, ToF cams, etc.)
Therefore it is possible to arrange the measurements rotated or translated in two dimensions. Those intervals can be either regular or irregular.

Mainly I'd like to have your opinion on the part where the angular or planar resolutions are defined.
The type has now two fields
``
std::vector<double> vertical_interval;
std::vector<double> horizontal_interval;
``
which can either be an angle or a position on a plane. How the interval is interpreted is selected by a projection type parameter. It is not so nice to have only a double value which can be handled so differently, but I think it is still the most practical way to represent planar and polar depth maps in the same type. Using c++11 it would also be possible to have an union of a base::Angle and a double.

Also I'm not sure if we necessarily need the rotation speeds in this type.

Not finished:
* The unit test is incomplete, the planar case is not tested yet.
* The visualizations from the MultilevelLaserScan type should be ported.
* A log conversion from the old to the new type should be written.
I'm re-adding the comment here so that it appears in the PR discussion thread

Is there really a major benefit for having the two special cases (two boundary values vs. all values) ? You're saving a few values, but not that much compared to the size of the whole structure, and at the price of code / interpretation complexity