#1529 Go back to using shared_ptr for Coords
A while ago, I decided to use a combination of unique_ptr / raw pointers instead.
It works because the list of Coords is immutable past the initialization / reduction phase.
However, as I am currently meddling with this part, I saw it led to the worst kind of runtime error:
- Erratic: it happens only for some of the runs (1 over 20 only...)
- There are no meaningful indication in the crash message: I had to do detectoring work to understand which lines of codes was doing the mess - and then more reflexion to understand why.
So clearly the (very slim) benefit isn't worth it: I will use again shared_ptr, and add safety checks in the process (for instance I do not want uncalled Coords objects - so I will set up a debug check which will assert that all Coords are accounted for at the Mesh level).