Added variable-level logging mechanism

Added a mechanism to log messages with different priority levels, and to
filter which messages are output by setting a threshold level. The
function to set the current log level/verbosity is exposed through
libbladeRF.h, while the logging function/macros themselves are private
to this project, and are present in log.c/log.h. Callers should use the
convenience macros bladerf_log_[level]() to issue their log messages.
These macros piece together a format string that contains the message
priority and, for warning and higher priorities, the function and line
number on which the message was logged. Also, warning level and higher
level messages are output to stderr, rather than stdout.
Replaced dbg_printf's with new logging mechanism

Replaced all of the dbg_printf calls in the library code with logging
calls that utilize the new logging mechanism. I just made some educated
guesses at the most appropriate log level for each message.
Merge pull request #74 from frank8371/issue31_squashed

Added logging mechanism (Issue #31)
bladeRF-cli: Added log level verbosity as a cmd line switch

The -v or --verbosity flag can be used to set the libbladeRF verbosity.
In the future, we should also start using this to potentially supress
CLI output.

Also fixed in this commit:
    - bladerf_open() typo in help text
    - Removed "b" option from OPTSTR, as this is no longer supported
bladeRF-cli: Bumping CLI minor rev
Remapped a few functions, types, and macros. Moved declarations.

These items address compilation issues under VS2012.
Fixed linking issue for Win64 hosts.

CMake's WIN32 is true for both 32 and 64-bit hosts, so we must
instead use CMAKE_CL_64 or CMAKE_SIZEOF_VOID_P.
libbladeRF: Added API_EXPORT for API routines.
Updated async test

Updated to be able to compile with VS2012.  Untested, and probably won't
work correctly.
Added pthreads-win32, and getopt/getopt_long to Windows build.
bladeRF-cli: Fixed struct field initializers and removed use of unistd.h
bladeRF-cli: Fixed pthreads-win32 linking issue
copy Windows DLLs into the bladeRF-cli.exe build directory
bladeRF: handle USB serial number string requests
fx3_firmware: bump firmware version to 1.2
libbladeRF: fix libusb string descriptor fetch

This commit fixes libusb_probe()'s return value when
libusb_get_string_descriptor_ascii() returns successfully.
bladeRF-cli: Added simple non-tecla based interactive mode support

This will allow folks without libtecla installed to use a simple (albeit
less feature-rich) interactive mode and script support. Interactive mode
is now always compiled in, and the build option, ENABLE_INTERACTIVE_TECLA
has been replaced by ENABLE_LIBTECLA.

The simple fgets-based implementation currently does not support path expansion.
host: Disabled file and line information from log messages by default.

This information (which is helpful when asking questions on IRC or
in the forums), can be enabled via the CMake argument,
     -DENABLE_LOG_FILE_INFO=ON
libbladeRF: Failure to read serial # made non-fatal.

If we fail to fetch the serial number due to older firmware, this
would prevent the user from being able to get far enough to upgrade.
Therefore, we instead opt to print an error message and trudge onward.
hdl: Updated README.md to suggest reconfiguring dash rather than manual symlinking