Move the multicluster submit function from src/sbatch/mult_cluster.c to
libslurmdb so it can be used by job submissions via the API.

slurmdb_get_first_avail_cluster() can be used similarly to the former
sbatch_set_first_avail_cluster() but is slightly more generally usable
as an API method since it doesn't require setting working_cluster_rec.

This involves changes to slurm_job_will_run() since that function was
not generally usable (hence its reimplementation in mult_cluster.c) and
the addition of slurm_job_will_run2() which provides the struct needed
for cluster selection decisions and does not print messages.

The signature of slurm_job_will_run() is unchanged and all tools which
used it (e.g. `srun/sbatch --test-only`) operate the same as before.
Because of the differences between the format and levels of messages in
the printing code, that code couldn't be fully deduplicated.  I just
didn't want to change the behavior of anything already using it.

src/sbatch/Makefile.in is not included in the commit, but does need to
be regenerated because src/sbatch/mult_cluster.{h,c} are removed.
Makefile.am is updated accordingly.