Port of good-http to udp

I ported the good-http plugin to udp and made the tests pass.
Should the be required like this if you have a default value? If they leave it off of the options, this will throw an error instead of using "udp4" which is the intent right? Maybe move this check down after the `applyToDefaults` call?