EpilogSlurmctld race condition/SEGV fix

EpilogSlurmctld pthread is passed required arguments rather than a pointer
to the job record, which under some conditions could be purged and result
in an invalid memory reference.
Merge branch 'slurm-2.5' into slurm-2.6
Honor ntasks-per-node option with exclusive node allocations

Previous logic would place more tasks on each node than specified
by --ntasks-per-node, using fewer nodes than desired. This only
happens with exclusive node allocations (e.g. in partition
configuration Shared=Exclusive).
Fix missing variable from last commit

Result of bad merge
Merge remote-tracking branch 'origin/slurm-2.6'

Conflicts:
	src/slurmctld/job_scheduler.c