Added demo broadcaster and subscriber modules.
Messed up previous commit.
Merge branch 'user/cevans87' into dev-integration
modified robosub settings

I was getting errors when loading the top robosub_settings.py. This was because the vision settings imports cv2, an opencv module. Not everybody needs to have that module installed, so I surrounded the importation of the vision settings with an exception handler. Now users can use the grapevine even if they don't have opencv installed. It will spit out a warning though.
fixed update bug in sensor interface, cleanup

fixed issue where the module would send multiple grapevine messages for every packet received. Also cleaned up, removed some old, unused code.
added cmdline args to uc sensor grapevine interface
added cmdline args to uc sensor debugging interface
added cmdline args to thruster debugging interface
added cmdline args to thruster grapevine interface
added cmdline args to uc LED debug interface
added cmd line args to uc LED grapevine interface
added sigint handler to uc LED debug interface
added support for callback function in sensor uc interface
reworked sensor uc interface to use sensor class

using callback functions for communicating to the grapevine, and using lambdas to set them up (if I understand lambdas correctly). If lambas don't work, I can create a wrapper around each grapevine callback. The callbacks are setup to send all the axes of a 3-axis sensor at once, after receiving the final axis (the z-axis).