Change the etc-hosts role to run on the overcloud group, as using
``ansible_play_hosts_all`` would exclude hosts when running with a
limit.
Also change the gather-facts-delegated role to run on the overcloud
group. The delegated task needs to be included separately as the hostvar
``ansible_host`` cannot be set dynamically based on a loop item in one
task. We loop over the batch indices here so that the tasks are included
in parallel, rather than in series.
Closes-Bug: #2051714
Change-Id: I0465eafa9e4ff37c96064ea8395f0bd461035b40