Module for detecting services which respond to empty UDP probes

The summary says it all.  This module is as simple as it sounds.  I initially wrote this in an attempt to understand why some services were seemingly returning empty UDP responses to arbitrary UDP probes but then discovered that there are many services and situations out there that can result in replies being sent in response to UDP packets with no data.

While simply responding is absolutely not a vulnerability, it is interesting (IMO, anyway).  In a quick run in our various lab environments I found several services that respond to this module but not to anything else in framework.  I figured someone else out there may find this useful and am releasing it to perhaps spawn additional research.

Validation:

- [ ] Confirm that something useful happens when a service does *not* respond to empty probes (try DNS)
- [ ] Confirm that something useful happens when a service does respond to empty probes

I admit that this isn't super reliable but I'm not 100% sure why.  Perhaps it is the large list of ports that I probe by default, flaky network/etc.  Suggestions are definitely welcome.


```
msf auxiliary(empty_udp) > run

[*] Sending 1 empty probes to a.b.c.d->a.b.c.d (1 hosts)
[+] Received "d\xB6\f\x80\x12\a\x00i\x00\x00\x00\x00\x00\x00\x00\x00\v\x10\x05\x00\x00\x00\x00\x00\x00\x00\x00(\x00\x00\x00\f\x00\x00\x00\x00\x01\x00\x00\x1E" from a.b.c.d:500/udp
```


But others auxiliary modules use ```fail_with``` really, so it's up to you, just pointing the behavior of ```fail_with``` on auxiliary modules.