start both devices now, time to figure out bus arbitration
fix module to be compatible with callbacks
dropped all references to set_address, we don't do that anymore.  the issue was simple: get_address didn't lock the bus in any way, so if another instrument tried to set the address in between a set_address and send call, it would reset the address and communication got snookered.  also, a timeout has been added to the reply so that a massive queue doesn't build up if for some reason responses are not happening.
dropped all references to set_address, which we don't use anymore.
start everybody