Modernize cmDocumentation and neighbour classes
Apparently code there was not touched for years except for maintenance and automatic tool-based changes. It could be modernized a bit. A few things can be done here. First is to not use raw pointers. I've done some initial work here: !2692 (merged) I want also to work on const-correctness and get rid of passing vector as out parameter (some is side effect of !2682 (merged)).