Optimize element neighbor computation

Together with Tom we could reduce number of instructions for [`setElementConnectedToElements()`](https://github.com/endJunction/ogs/blob/1c9f9c7548565e9592c9cdd17b7eec0156df710a/MeshLib/Mesh.cpp#L176) function called in mesh ctor from 31.6e9 to 20.6e9 instructions, which is about 1/3 of the current implementation. As example a hexahedral mesh with 1.2e6 elements was used in MeshRead program.

Overall instructions in MeshRead example is from 56e9 to 45e9 instructions ~1/5.

Though creation of neighbor information is done only ones, the time spent their for smaller problems is significant.