<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
Add support for `MaxInstanceLifetime` option to AWS ec2_asg module.
AWS feature introduction link: https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-ec2-auto-scaling-supports-max-instance-lifetime/

##### ISSUE TYPE
- Feature Idea

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

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Usage example:
<!--- Paste example playbooks or commands between quotes below -->
```yaml
- ec2_asg:
    name: myasg
    region: us-east-1
    launch_config_name: my_new_lc
    min_size: 1
    max_size: 5
    desired_capacity: 3
    max_instance_lifetime: 604800  # seconds
```

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

return connection.describe_target_health(TargetGroupArn=target_group_arn, Targets=instances)
@AWSRetry.backoff(**backoff_params)
def suspend_asg_processes(connection, asg_name, processes):
    connection.suspend_processes(AutoScalingGroupName=asg_name, ScalingProcesses=processes)
@AWSRetry.backoff(**backoff_params)
def resume_asg_processes(connection, asg_name, processes):
    connection.resume_processes(AutoScalingGroupName=asg_name, ScalingProcesses=processes)
@AWSRetry.backoff(**backoff_params)
def describe_launch_configurations(connection, launch_config_name):
    pg = connection.get_paginator('describe_launch_configurations')
    return pg.paginate(LaunchConfigurationNames=[launch_config_name]).build_full_result()
@AWSRetry.backoff(**backoff_params)
def describe_launch_templates(connection, launch_template):
    if launch_template['launch_template_id'] is not None:
        try:
            lt = connection.describe_launch_templates(LaunchTemplateIds=[launch_template['launch_template_id']])
            return lt
        except (botocore.exceptions.ClientError) as e:
            module.fail_json(msg="No launch template found matching: %s" % launch_template)
    else:
        try:
            lt = connection.describe_launch_templates(LaunchTemplateNames=[launch_template['launch_template_name']])
            return lt
        except (botocore.exceptions.ClientError) as e:
            module.fail_json(msg="No launch template found matching: %s" % launch_template)
@AWSRetry.backoff(**backoff_params)
def create_asg(connection, **params):