Made exceptions public.
Changed BluetoothSource to have its own thread. Added converter.

Every connection needs it won thread because of timeouts and bad
connections could hold up all the connections if they are put on one
thread. Howver the data converted for each sensor is run on the same
thread.