Initial cleanup of Viproy CDP code

This address the majority of the ruby/msf style issues and corrects/adds functionality as necessary.  Perhaps in a future PR the CDP stuff could be moved to Rex for use elsewhere (which would also allow this to be tested with rspec).

My validation was simply confirming that when in 'spoof' mode it sent properly formed packets.

The only thing I wasn't sure about in the original implementation was that it would spoof and listen if in spoof mode.  Was that by design?  If so, why?