<!--- 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 -->

attempting to use iam_policy module in govcloud and it results in the error:

"Region us-gov-east-1 does not seem to be available for aws module boto.iam. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path"

the same playbook works fine in us-gov-west

##### ISSUE TYPE
- Bug Report

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

iam_policy

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
{
    "exception": "Traceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 114, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 106, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 49, in invoke_module\n    imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/__main__.py\", line 351, in <module>\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/__main__.py\", line 325, in main\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/ansible_iam_policy_payload.zip/ansible/module_utils/ec2.py\", line 340, in connect_to_aws\nansible.module_utils.ec2.AnsibleAWSError: Region us-gov-east-1 does not seem to be available for aws module boto.iam. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path\n",
    "_ansible_no_log": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 114, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 106, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-tmp-1572882827.2-191594499800419/AnsiballZ_iam_policy.py\", line 49, in invoke_module\n    imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/__main__.py\", line 351, in <module>\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/__main__.py\", line 325, in main\n  File \"/tmp/ansible_iam_policy_payload_1NDwn0/ansible_iam_policy_payload.zip/ansible/module_utils/ec2.py\", line 340, in connect_to_aws\nansible.module_utils.ec2.AnsibleAWSError: Region us-gov-east-1 does not seem to be available for aws module boto.iam. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path\n",
    "changed": false,
    "module_stdout": "",
    "rc": 1,
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error"
}

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```no output
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -
dont think anything that stands out or is relevant in this case
->


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

use iam_policy with the region targeting us-gov-east-1, in our case we just wanted to create a policy.

```

```

<!--- Paste example playbooks or commands between quotes below -->
```
- name: Create IAM Policy for the Audit S3 bucket
  iam_policy:
    iam_type: role
    iam_name: "some_name"
    region: "{{ a var that results in us-gov-east-1 }}"
    policy_name: some_policy_name
    policy_json: "{{ lookup('stuff for policy json') }}"
    state: present

```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
i expected the same results as with gov west, which was successful

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

the error described above

<!--- Paste verbatim command output between quotes -->
```
have pasted above
```

argument_spec=argument_spec,
    )
    if not HAS_BOTO:
        module.fail_json(msg='boto required for this module')
    iam_type = module.params.get('iam_type').lower()
    state = module.params.get('state')
    name = module.params.get('iam_name')
    policy_name = module.params.get('policy_name')
    skip = module.params.get('skip_duplicates')
    policy_document = module.params.get('policy_document')
    if policy_document is not None and module.params.get('policy_json') is not None:
        module.fail_json(msg='Only one of "policy_document" or "policy_json" may be set')
    if policy_document is not None:
        try:
            with open(policy_document, 'r') as json_data:
                pdoc = json.dumps(json.load(json_data))
                json_data.close()
        except IOError as e:
            if e.errno == 2:
                module.fail_json(
                    msg='policy_document {0:!r} does not exist'.format(policy_document))
            else:
                raise
    elif module.params.get('policy_json') is not None:
        pdoc = module.params.get('policy_json')
        
        if not isinstance(pdoc, string_types):
            try:
                pdoc = json.dumps(pdoc)
            except Exception as e: