Refactor: Make routines type-bound to `calc_mode_par_t`
These changes make the free routines in calc_mode_par_oct_m type-bound to the class calc_mode_par_t.
In doing so, one can simplify the call to multicomm_init to take an instance of calc_mode_par_t.
However, doing so creates a circular dependency. To fix this, I've moved the P_STRATEGY_ integers into calc_mode_par_oct_m, which has required me to use this module in several others.
Let me know if the change is ok.