Refactor: MPI Distribution and Precision
This MR splits off changes originally in MR !2605 (merged), on small changes/refactoring/extensions of MPI routines.
Changes include:
- Extend comm_allreduce and mesh wrappers of reduce to support int64
- Introduce
is_root
type-bound procedure for mpi_type - Introduce a routine to compute indexing offsets (displacements) for use with gatherv/scatterv
Unrelated:
- Doxygen and formatting
- LLM sphere radius for a single-atom system is turned into a constant - previously it was hard-coded in two places