Adding support for UDP Based Protocols

Hi,

Thanks for opening the discussion. This interface proposal looks clean to me, we'd maybe just need a way to get if the protocol is TCP or UDP without having to use reflection.

From the implementation POV, yes, we need to take out the decoder stuff out of tcp package, it could go in the upper protos package for example. We can rely on the gopacket library to do the UDP headers decoding, so the udp layer will almost be a noop.

Just curious, what UDP based protocol are you looking at?