bladeRF-cli: Fixed issues #198 (harmless error message) and #201 (race)

Issue #198: The peripheral access failure messages were the result of
attempting to disable RX/TX modules when shutting down the RX/TX
threads, despite the FPGA not being loaded.

The RX/TX modules are now only enabled/disabled when starting/ending
a data stream, which already ensures the FPGA is loaded.

Issue #201: Having bladerf_enable_module() calls in the RX and TX
threads creates small race windows. A device handle lock has been added
to address this, and any future device control calls that these threads
may need to make.

Additionally, the aforementioned bladerf_enable_module() calls have been
relocated to a single spot, just to tidy up.