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: libbladerf_test_sync runs full duplex
libbladeRF: Added loopback and clean SIGTERM handling to test_sync
libbladeRF: Moved internal sync handles into an array

This is a bit more consistent with what's already done with timeouts,
and is the preferred method of adding per-module items in the future.
libbladeRF: Include required OSX common/ directory items in build

The following items were missing from the changes introduced in commit
28ed798ce9b4a81f1bad6a6803a3d4dab3f146d3:

   - Add common/include/osx directory to libbladeRF include path
   - Add common/osx/src/clock_gettime.c to libbladeRF build
libbladeRF: Windows build fix for test_sync program

Build error results from treating warnings as errors, with possible overflow in 64 -> 32bit conversion.
libbladeRF: Added further clarification to (Doxygen) documentation
libbladeRF: Bumped minor rev (v0.14.0)

Note that these version introduces some reverse-incompatible functions
with v0.13.z and earlier.

(A friendly reminder - the v0.y.z series is officially "unstable".)

Changes Include:
    - Removal of bladerf_rx and bladerf_tx functions
    - Addition of a new synchronous interface that operates atop the
      asynchronous interface.
    - Renaming of stream transfer timeout functions