Bluetooth swap
This addresses issue #404 (closed) and makes modifications to the Downloader and Swap code in order to manage the very particular and sensitive Bluetooth connection, to ensure that all streams and sockets are properly closed, and that you don't enable more than one background BT server.
This has been tested on Moto G, Xiaomi Note, Nexus 4 and Nexus 7.