Retrieve filtered list of hosts for a task, not all hosts

'play._variable_manager._hostvars' contains all hosts, regardless
of filtering and as such, we might be including more hosts than
expected or necessary.

If we're filtering hosts, either at the play level
(hosts: "group" or hosts: "inventory_hostname") or at the command
level (ansible-playbook -l group), the list of hosts we're interested
in is smaller.

Use 'play._variable_manager._inventory._restriction' which provides
the real parsed/compiled list of hosts involved in the task/play.

Change-Id: Idbc97dd7cca4717f716a7a228a20d85405d1fe7b
1 file changed