libbladeRF: Re-implemented sync interface, updated API docs, renamed timeout function

The sync interface has been re-implemented atop the existing
asynchronous interface. This is currently opt-in and only enable when
pthreads support is enabled and available.

Some clarifications have been made in the API documentation,
specifically in the explanations of the various stream parameters.

The bladerf_set_transfer_timeout and bladerf_get_transfer_timeout have
been named more appropriately, as these control stream transfer
timeouts, as opposed to all transfers.
libbladeRF: Enable sync interface if pthreads support is found
libbladeRF: [WIP] Fixed Windows build issues.

Fixed CMakeLists issues and warnings that broke the build.

Compiled only, not tested.

Moved host/utilities/common items up into host/common, for use with sync
interface code.