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.
That is inherited from the LaserScan type. The data should allways be unfiltered to allow post processing. If the boundaries for the min and max distance have to be part of the sample I don't know, one could also set them as parameter in the convertDepthMapToPointCloud methods.
Maybe someone else has an opinion on this?