Add template and better defaults for UDPScanner

This is based on [this email](http://sourceforge.net/p/metasploit/mailman/message/32648580/) where I suggested that someone start contributing example/template modules for specific types of tasks.  These example/template modules should be as perfect as possible, allowing contributors to quickly copy it, change a few things and be off and running.  The resulting code and experience should be as ideal as possible when starting with this code, and resulting PRs using these example modules should be considerably easier to write and far cleaner.

This just handles it for UDPScanner, which I happen to spend a lot of time writing/reviewing/using.

In addition to the template itself, I've made numerous other changes to related files.  Of note:

* I shut rubocop up even more.  It now has 0 complaints about the example module
* I bumped the default ```THREADS``` to 10.  This was based on some discussion internally around the default performance of ```UDPScanner``` and that in its default mode it only performs nicely when scanning a /24.  But, it isn't obvious that you may need to tweak ```THREADS``` if you are scanning larger networks, so I picked what I think is a reasonable default.  The thinking is that it will have no adverse affects on scanning smaller networks, but will have a positive impact when scanning networks larger than /24
* Moved most of the probing/reporting logic that 95% of all ```UDPScanner``` modules do into ```UDPScanner``` itself.  

The end result of this allows me to copy this example, change the defaults in ```initialize```, and then simply set ```@probe``` and I have a nice scanner that works and is friendly

# Validation

 - [ ] Critique everything about the example module
 - [ ] Simulate the process a user would follow when copying from this module.  Is it as ideal as possible?
 - [ ] Try other existing ```UDPScanner``` modules.  (I actually suspect some will have minor cosmetic regressions)
My main reasoning is that ```Msf::Exploit::Remote::{Udp,Tcp}``` use these as advanced.  Plus, setting CHOST for scanner modules *does* happen, just not regularly.