cli: FPGA's don't exist on unopened devices.
Fix warning that caused CMake to determine the version of libusb

A recent flag change has made the compiler treat warning as errors, this caused
the implicit declaration of printf to caused ver.c to not compile. This in turn
made CMake believe that it couldn't even find the API VERSION macro.
Windows: Call Sleep() with a value > 0.

From the documentation:

"A value of zero causes the thread to relinquish the remainder of its
time slice to any other thread of equal priority that is ready to run.
If there are no other threads of equal priority ready to run, the
function returns immediately, and the thread continues execution."

Thanks Simon!
Update cmake_minimum_required to 2.8.3 for host/

Resolves issue #123

host/CMakeLists.txt uses CMAKE_CURRENT_LIST_DIR, which does not exist
before 2.8.3.  Updating this to avoid obscure build errors on old
machines.

Also adding a few missing cmake_minimum_required directives to avoid
a warning that likes to pop up when they're missing.
Add README note about minimum cmake version
Merge pull request #124 from rtucker/issue123_cmake_version

Bump cmake_minimum_required to appropriate value.
fx3/makefile: fixup building on Windows
Unified .gitignore top level file.
Added .orig to .gitignore
gitignore: add gtags files and emacs .dir-locals.el
Merge pull request #132 from DanielG/dev

gitignore: add gtags files and emacs .dir-locals.el
libbladeRF: Added missing call to enable LNA PAs
libbladeRF: Enabling PA's - not LNA's.
Added FX3 Version String

[fx3]: Use CMake to make a version string which is populated at runtime that is
very similar to the git version strings for the library and CLI.

[libbladeRF]: Added a an API call to get the string representation of the
firmware.  Errors getting this string will result in '?' being populated in the
returned string.

[cli]: Added a firmware string which is printed under the actual string itself.
libbbladeRF, utilities: Migrating to major.minor.patch for version #'s

The API now presents a version structure that includes major, minor, and
patch versions. It additionally provides a "describe" string which
includes these version items in a string format, with any additional
annotations (such as git revision and dirty flag).

This changeset removes the older version functions, breaking reverse
compatibility (intentionally). Bumped minor version to reflect this change.
(The 0.Y.Z series is considered unstable at this time.)
fx3_firmware: Removed debug output and stray line in makefile
Fix cmake_minimum_required (CMAKE_CURRENT_LIST_DIR is >=2.8.3)
Merge pull request #135 from rtucker/fx3_cmakelists_minimum_vers_fix

Fix cmake_minimum_required (CMAKE_CURRENT_LIST_DIR is >=2.8.3)
fx3_firmware, libbladeRF: Packed FW version structure, moved serial # init

The bladerf_fx3_version structure is transferred as-is. Currently this
likely doesn't pose any isseus for most machines, since it contains only
two uint32_t's. It's now marked to be packed, just to be safe.

The serial number initialization (ExtracSerial()) has been moved before
the CyU3PConnectState() call to remove a potential race condition.

Macro definitions are now provided for string descriptors.
libbladeRF: Fixed memory leak, cleaned up deinits in failure cases

The FPGA and FW versions were not being freed in lusb_close(). Some
potential leaks existed in failure cases.