[feat] Add an optional overlap estimator

This overlap estimator allows to evaluate the registration quality at each new scan input

It is based on the LCP estimator implemented in SUPER4PCS random registration algorithm

It represents the probability for one scanned point to have a neighbor in the keypoint maps.

It is computed as an average of this probability for all scanned points. These probabilities are estimated with a gaussian like density fitted in map leaf space.

The function can be decomposed in 3 steps :
 Transform the input points into new frame
 Sample uniformly if needed
 Compute customized LCP value

Time info on one example > indoor data set, fixed maps 8300 points and input scan 29000 points, no sampling :
 Without any multithreading: 5.9ms
 With all multithreading (2 threads): 3.2ms
 Without Transform multithreading : 3.6ms
 Without LCP multithreading : 5.5ms
 The LCP step is the heaviest
 The sampling is not neglectable

How to interpret :
 A good overlap estimation lies in [0.7, 1]
 A sufficient one lies in [0.4,0.7]
 A bad one lies in [0, 0.4]

It is particularly helpful to detect bad convergences (big jumps) because the overlap must show a gap. Warning: this is true when the map is fixed but can be false if we pass through a door while the map is built online.

DOUBT : should we keep the uniform filtering option?
 adv :
 it can reduce LCP computation time
 it allows not to focus on one points cluster overlap
 inc :
 it can allow some overlap gap along the SLAM process with no particular reason
 it is long with respect to the whole process
 adv :
@nicolas.cadart PTAL