<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
As of Ansible 2.7 the `--force-handlers` option is no longer running the handler/s on all hosts when used with strategy free. Only tested back to 2.5 and this was working as I would expect it to on 2.5 & 2.6.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
plugins/strategy 

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.10.0.dev0
  config file = /Users/bdudas/dev-net/handlers/ansible.cfg
  configured module search path = [u'/Users/bdudas/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/bdudas/dev-net/handlers/ansible/lib/ansible
  executable location = /Users/bdudas/dev-net/handlers/ansible/bin/ansible
  python version = 2.7.16 (default, Oct 16 2019, 00:34:56) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_STRATEGY(/Users/bdudas/dev-net/handlers/ansible.cfg) = free
HOST_KEY_CHECKING(/Users/bdudas/dev-net/handlers/ansible.cfg) = False
RETRY_FILES_ENABLED(/Users/bdudas/dev-net/handlers/ansible.cfg) = False
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
- hosts: all
  gather_facts: false

  tasks:
    - command: hostname
      register: id
      notify: recovery_x

    - debug:
        var: id

    - name: failure
      fail: msg="Testing Failure"
      when: inventory_hostname == 'covfefe'

  handlers:
    - name: recovery_x
      shell: hostname
...
```
ansible-playbook <playbook.yml> --force-handlers
<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Handlers will run against all hosts when using the `--force-handlers` option. 

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
Handler is only run on 1 of the 2 target hosts.
<!--- Paste verbatim command output between quotes -->
```paste below

```

#
#
#
#
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
    strategy: free
    short_description: Executes tasks without waiting for all hosts
    description:
        - Task execution is as fast as possible per batch as defined by C(serial) (default all).
          Ansible will not wait for other hosts to finish the current task before queuing more tasks for other hosts.
          All hosts are still attempted for the current task, but it prevents blocking new tasks for hosts that have already finished.
        - With the free strategy, unlike the default linear strategy, a host that is slow or stuck on a specific task
          won't hold up the rest of the hosts and tasks.
    version_added: "2.0"
    author: Ansible Core Team
'''
import time
from ansible import constants as C
from ansible.errors import AnsibleError
from ansible.playbook.included_file import IncludedFile
from ansible.plugins.loader import action_loader
from ansible.plugins.strategy import StrategyBase
from ansible.template import Templar
from ansible.module_utils._text import to_text
from ansible.utils.display import Display
display = Display()
class StrategyModule(StrategyBase):