Add surface_matching module.

This is the surface_matching module developed by @tolgabirdal for the GSoC 2014.

Video can be found [here](https://www.youtube.com/watch?v=uFnqLFznuZU)
ok, I see. Indeed, I remember that in some contributed code we already had problem with different STL implementations of certain containers. So, ok, it's fine to use custom hash. Maybe we should eventually move it to core.