libbladeRF: Removed old error tracking code and structures
libbladeRF: [WIP] Added control lock acquisition to top-level

Top-level API functions now acquire a per-device lock before performing
"control" operations.

Only these top-level functions shall acquire these locks; the core code
should be able to assume that locks are already acquired.

To alleviate confusion, functions that are *not* part of the API, and
therefore are safe to call within the core logic,  are stripped of the
bladerf_ prefix.

This code will currently induce deadlock. The following commit will
clean up calls to API functions from within the core code.
libbladeRF: [WIP] Don't call API functions from lms.c
libbladeRF: [WIP] Don't call top-level API functions from si5338.c
libbladeRF: [WIP] Moved FPGA functions, don't use bladerf_* fpga fns in core
libbladeRF: [WIP] Removed API calls from xb.c