##### SUMMARY
The task level parameter `max_items` for the route53_info uses a string for Ansible 2.9 and older, but for the development branch (2.10) and newer it uses an integer (type int)

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
route53_info

##### ANSIBLE VERSION
```paste below

ansible 2.10.0.dev0

  config file = /etc/ansible/ansible.cfg

  configured module search path = [u'/home/jenkins/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']

  ansible python module location = /root/.venv/lib/python2.7/site-packages/ansible

  executable location = /root/.venv/bin/ansible

  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
```

##### CONFIGURATION
N/A, happening on multiple systems

##### OS / ENVIRONMENT
N/A, happening on multiple systems

##### STEPS TO REPRODUCE

For the parameter `max_items` just send a string on the development branch, here is what I do in workshops today.

```yaml
- name: GRAB ROUTE53 INFORMATION
  route53_info:
    type: A
    query: record_sets
    hosted_zone_id: "{{AWSINFO.zone_id}}"
    start_record_name: "student1.{{ec2_name_prefix|lower}}.{{workshop_dns_zone}}"
    max_items: "{{student_total|string}}"
  register: record_sets
```


##### EXPECTED RESULTS
unsure, I can switch but this will break many users Ansible Playbooks, we should accept string and convert to int

##### ACTUAL RESULTS

```paste below
fatal: [localhost]: FAILED! => changed=false 

  msg: |-

    Parameter validation failed:

    Invalid type for parameter MaxItems, value: 2, type: <type 'int'>, valid types: <type 'basestring'>
```

for internal red hat folks the QE tests are happening here: http://jenkins.ansible.eng.rdu2.redhat.com/blue/organizations/jenkins/tower-qe-compatibility-pipepline/detail/tower-qe-compatibility-pipepline/567/pipeline
argument_spec=argument_spec,
        supports_check_mode=True,
        mutually_exclusive=[
            ['hosted_zone_method', 'health_check_method'],
        ],
    )
    if module._name == 'route53_facts':
        module.deprecate("The 'route53_facts' module has been renamed to 'route53_info'", version='2.13')
    
    if not (HAS_BOTO or HAS_BOTO3):
        module.fail_json(msg='json and boto/boto3 is required.')
    region, ec2_url, aws_connect_kwargs = get_aws_connection_info(module, boto3=True)
    route53 = boto3_conn(module, conn_type='client', resource='route53', region=region, endpoint=ec2_url, **aws_connect_kwargs)
    invocations = {
        'change': change_details,
        'checker_ip_range': checker_ip_range_details,
        'health_check': health_check_details,
        'hosted_zone': hosted_zone_details,
        'record_sets': record_sets_details,
        'reusable_delegation_set': reusable_delegation_set_details,
    }
    results = dict(changed=False)
    try:
        results = invocations[module.params.get('query')](route53, module)
    except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e:
        module.fail_json(msg=to_native(e))
    module.exit_json(**results)
if __name__ == '__main__':
    main()