bladeRF-cli: [WIP] Started refactoring state transitions

Moving to something actually more akin to a state machine for handling
the RX and TX tasks.

Splitting the RX/TX code up a bit:

    rxtx.c - Items needed for handling the rx/tx commands and relevant
             helper code

    rx.c   - RX task

    tx.c   - TX task

    rxtx.h - RX/TX command interface

    rxtx_priv.h - Items needed to implement rxtx.c, rx.c, tx.c
bladeRF-cli: [WIP] Splitting rx & tx into separate files

The "common" code essentially became if (tx) { ... } else { ... },
so there wasn't much value in keeping rx and tx together.

Common elements will be kept in rxtx.c
bladeRF-cli: [WIP] Re-added rx/tx configuration
bladeRF-cli: [WIP] Began major refactoring of rx/tx data structures
bladeRF-cli: [WIP] Cleaned up build issues from rxtx.c
bladeRF-cli: [WIP] First cut at rx/tx init and teardown
bladeRF-cli: [WIP] Fixed infininite loop on task shutdown
bladeRF-cli: [WIP] Fixed swapped logic in printing file path
bladeRF-cli: [WIP] Debugging rx task startup
libbladeRF: No-op on deinit and close functions
bladeRF-cli: Added free buffer info init to RX
bladeRF-cli: [WIP] Added additional buffer mgmt items, fixed leak
bladeRF-cli: [WIP] First cut at rx (bin)

Getting a bad user_data value in the rx callack
bladeRF-cli: Fixed running tests
bladeRF-cli: Added missing file open/close. Annotated lock ordering.
bladeRF-cli: Added missing file path check
bladeRF-cli: Added missing logic for stopping RX stream
cli: Close the device after shutting down streams.