Add support for other communication protocols.

Create infrastructure to support various protocols
instead of only UDP. Skeleton added for Bluetooth.