uhd: unexposed usrp_sink::get_device() and usrp_source::get_device() from SWIG

* multi_usrp class is not exposed to SWIG, so function returned a SwigPyObject and caused a memory leak when Python exits
* It is not practical to expose multi_usrp to SWIG, so simply tell SWIG to ignore it
grc: design time values for object-like variables
digital: using new var_value for constellation variables
grc: allow blocks to dynamically hide some of their ports
uhd: Updated docs, in particular for the command interface
uhd: Added command interface to uhd source, modified command syntax
uhd: Refactored common stuff from usrp sink and source
uhd: Added GRC bindings for command interface
uhd: Added more type checking and flexibility to commands and tags
Windows compatibility fixes

* Fixed usage of Windows thread-naming API, changed minimum Windows version
* Fixed MSVC usage of isnan, round
uhd: Added example for re-tuning through messages
uhd: Added checks for lock sensors.

When operating with an external ref, in MIMO mode or with a GPSDO,
the constructor now waits until the lock sensors report succesful
locking.
If this fails, a warning is displayed using the logger interface,
to keep backward compatibility.
Windows compatibility fixes

* fec/ber_tools: added include and #define necessary to use M_PI
* qtgui: changed erfc to boost::math::erfc
* volk: don't try to align with MSVC
Merge remote-tracking branch 'ncorgan/ncorgan/swig_ignore_multi_usrp' into maint
filter: relax gr::filter::freq_xlating_fft_filter QA precision
zeromq: require zmq.hpp be installed
Merge branch 'maint'
Merge remote-tracking branch 'ncorgan/win/master_fixes'
Merge branch 'master' into next
cmake: update revision to 3.7.4 for release