feat: add mpirunner and enable mpicasa dispatch for tclean
- Add mpirunner.py: find_executable, run_in_mpicasa, call_with_mpi helpers that dispatch any callable to a fresh MPI subprocess, fall back to in-process when an MPI client session is already active. cloudpickle used opportunistically for by-value serialization; module+qualname fallback works without it (covers casatasks.tclean/SWIG objects).
- casa_tasks: wrap tclean via _tclean → call_with_mpi so parallel=True spawns mpicasa instead of requiring a pre-existing MPI session.
- makeimages.__get_task_args: extend Tier-1 tclean parallel condition to is_mpi_ready() or is_dask_ready() or is_parsl_ready(), enabling mpicasa for science target imaging when pac-man is orchestrating.
- Replace parse_mpi_input_parameter with parse_parallel_input_parameter in tclean, cleanbase, findcont, imageparams_base, imageparams_vlass.