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

##### SUMMARY
elb_network_lb and elb_target_group should support UDP, currently only HTTP, HTTPS and TCP are supported by ansible.

Based on the current pages, UDP and TCP_UDP are supported as protocols:
- https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-listener.html
- https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
- elb_target_group
- elb_network_lb

##### ADDITIONAL INFORMATION
It would be useful to use UDP as a protocol for an NLB, additionally, attached target groups would need to support UDP.

TCP_UDP is another protocol that it would be useful to add support for (a port that would take TCP or UDP traffic and not care)

<!--- Paste example playbooks or commands between quotes below -->
```yaml
    - name: Create logstash target group
      elb_target_group:
        name: logstash_bunyan_production_tg
        protocol: udp
        port: 5600
        vpc_id: "{{ vpc_facts.vpcs[0].id }}"
        state: present

    - name: Create nlb
      elb_network_lb:
        name: logstash_nlb
        subnets: "{{ private_subnets + public_subnets }}"
        health_check_path: "/"
        health_check_port: "9600"
        health_check_protocol: "http"
        protocol: "udp"
        port: "5600"
        listeners:
          - Protocol: UDP
            Port: 5600
            DefaultActions:
              - Type: forward
                TargetGroupName: logstash_bunyan_production_tg
        state: present
```

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

description: The type of action.
                    type: str
                TargetGroupArn:
                    description: The Amazon Resource Name (ARN) of the target group.
                    type: str
  name:
    description:
      - The name of the load balancer. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric
        characters or hyphens, and must not begin or end with a hyphen.
    required: true
    type: str
  purge_listeners:
    description:
      - If I(purge_listeners=true), existing listeners will be purged from the ELB to match exactly what is defined by I(listeners) parameter.
      - If the I(listeners) parameter is not set then listeners will not be modified.
    default: true
    type: bool
  purge_tags:
    description:
      - If I(purge_tags=true), existing tags will be purged from the resource to match exactly what is defined by I(tags) parameter.
      - If the I(tags) parameter is not set then tags will not be modified.
    default: true
    type: bool
  subnet_mappings:
    description:
      - A list of dicts containing the IDs of the subnets to attach to the load balancer. You can also specify the allocation ID of an Elastic IP
        to attach to the load balancer. You can specify one Elastic IP address per subnet.
      - This parameter is mutually exclusive with I(subnets).
    type: list
    elements: dict