4pcs registration method ...

...as proposed by Aiger et al. (2007, 4-Points Congruent Sets for Robust Surface Registration) and Theiler et al. (2014, Keypoint-based 4-Points Congruent Sets – Automated marker-less registration of laser scans).

Commit is together with a fast transformation estimation method to speed up the calculation using a minimum number of 3 points. This method simplifies the calculation of transformation parameters when dealing with a 3 point planar case.

I do realize, that a comparable contribution (fpcs by stheg) was done in June 2014, but since the additional method k-4pcs is inheriting a lot from its parent 4pcs, this commitment is only useful in combination.
Do we need to expose this struct to the outside world, especially in the main `pcl` namespace? As far as I can see, you only use this struct inside the class, i.e. it is not a part of the public interface. I would suggest to move it inside the `private`/`protected` section of the class.