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.
In laserscan, it was needed because low values were used as error codes ... Horrible choice that is chasing us up until now. Since you use floats, errors should be encoded with NaN and Inf so I wonder if that's still needed.