<!--- 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 -->
after upgrade from 2.9.9 to 2.9.10 we see an exception in a task using ~~lineinfile~~ `delegate_facts=true`

##### ISSUE TYPE
- Bug Report

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

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
2.9.10
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_NOCOWS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = True
ANSIBLE_PIPELINING(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = True
ANSIBLE_SSH_ARGS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = -o ControlMaster=auto -o ControlPersist=60s -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
CACHE_PLUGIN(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = jsonfile
CACHE_PLUGIN_CONNECTION(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = .cache/facts
CACHE_PLUGIN_TIMEOUT(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = 86400
COLLECTIONS_PATHS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = [u'/home/rmoser/Projects/puzzle/ansible-puzzle/collections_galaxy']
CONDITIONAL_BARE_VARS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = False
DEFAULT_BECOME(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = True
DEFAULT_BECOME_ASK_PASS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = False
DEFAULT_BECOME_METHOD(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = sudo
DEFAULT_BECOME_USER(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = root
DEFAULT_FORKS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = 20
DEFAULT_GATHERING(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = smart
DEFAULT_HOST_LIST(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = [u'/home/rmoser/Projects/puzzle/ansible-puzzle/inventories/cloud_staging']
DEFAULT_LOAD_CALLBACK_PLUGINS(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = False
DEFAULT_MANAGED_STR(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = Warning: File is managed by Ansible
DEFAULT_PRIVATE_KEY_FILE(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = /home/rmoser/.ssh/id_rsa
DEFAULT_REMOTE_USER(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = ansible
DEFAULT_ROLES_PATH(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = [u'/home/rmoser/Projects/puzzle/ansible-puzzle/roles_galaxy', u'/home/rmoser/Projects/puzzle/ansible-puzzle/roles']
DEFAULT_STDOUT_CALLBACK(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = yaml
HOST_KEY_CHECKING(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = True
INTERPRETER_PYTHON(/home/rmoser/Projects/puzzle/ansible-puzzle/ansible.cfg) = auto
RETRY_FILES_ENABLED(/home/rmoser/Projects/puzzle/ansible-puzzle/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: my.example.com
  gather_facts: yes
  tasks:
  - name: make something
    delegate_facts: True
    delegate_to: other.example.com
    lineinfile:
      path: /tmp/foo.txt
      regexp: '^Listen '
      insertafter: '^#Listen '
      line: Listen 8080

```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
The full traceback is:
Traceback (most recent call last):
  File "/home/rmoser/Projects/resmo/ansible/lib/ansible/executor/task_executor.py", line 146, in run
    res = self._execute()
  File "/home/rmoser/Projects/resmo/ansible/lib/ansible/executor/task_executor.py", line 654, in _execute
    result = self._handler.run(task_vars=variables)
  File "/home/rmoser/Projects/resmo/ansible/lib/ansible/plugins/action/normal.py", line 46, in run
    result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
  File "/home/rmoser/Projects/resmo/ansible/lib/ansible/plugins/action/__init__.py", line 831, in _execute_module
    (module_style, shebang, module_data, module_path) = self._configure_module(module_name=module_name, module_args=module_args, task_vars=task_vars)
  File "/home/rmoser/Projects/resmo/ansible/lib/ansible/plugins/action/__init__.py", line 244, in _configure_module
    return (module_style, module_shebang, module_data, module_path)
UnboundLocalError: local variable 'module_style' referenced before assignment
fatal: [server.example.com]: FAILED! => 
  msg: Unexpected failure during module execution.
  stdout: ''

```

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import base64
import json
import os
import random
import re
import stat
import tempfile
import time
from abc import ABCMeta, abstractmethod
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleConnectionFailure, AnsibleActionSkip, AnsibleActionFail, AnsiblePluginRemovedError
from ansible.executor.module_common import modify_module
from ansible.executor.interpreter_discovery import discover_interpreter, InterpreterDiscoveryRequiredError
from ansible.module_utils.common._collections_compat import Sequence
from ansible.module_utils.json_utils import _filter_non_json_lines
from ansible.module_utils.six import binary_type, string_types, text_type, iteritems, with_metaclass
from ansible.module_utils.six.moves import shlex_quote
from ansible.module_utils._text import to_bytes, to_native, to_text
from ansible.parsing.utils.jsonify import jsonify
from ansible.release import __version__
from ansible.utils.collection_loader import resource_from_fqcr
from ansible.utils.display import Display
from ansible.utils.unsafe_proxy import wrap_var, AnsibleUnsafeText
from ansible.vars.clean import remove_internal_keys
display = Display()
class ActionBase(with_metaclass(ABCMeta, object)):