Change gmx_localtop_t to C++
Changes the localtop topology structure to C++.
Cases where the object could be allocated on the stack have
been changed in that way. In other places, unique_ptr is now
used for the allocation.
Changed callers that returned a pointer to a new gmx_localtop_t
to instead take a pointer to the datastructure that will be
populated.
gmx_localtop_t is by default managing its own memory, but can be changed
to not do this. This is needed for the domain decomposition as it is not
expected to free memory owned by mtop there.
This is part of the larger aim of modernizing the topology
datastructures to C++.
Changed const pointers to const references where encountered during the
change.
Change-Id: I619533f5dc332332f1652afb24266bc2dae67d4c
21 files changed: