allow varying number of message ports
grc: patches for 'allow varying number of message ports' (WIP)
grc: fixes undefined behavior in get_nports() (WIP)
grc: rewrite of nports code (WIP)
grc: make statement more explicit
grc: rename remove_duplicate -> remove_clone
grc: check if stream port before overwriting key and set _key, not 'key' in dict
grc: doc fixes
Fix a typo that prevents the Max block from working in GNU Radio Companion
when its IO Type is set to Short.
volk: removing duplicate entry for volk_8i_convert_16i.
volk: using union for float to int conversion in volk_32f_invsqrt_32f.

Removes warning about type-punned pointer. Also, produces noticeable speed increase using GCC, though slightly slower with clang.
math: fixes fast_atan2 float==0 check.

runtime: adds math functions to swig to make available as gr.function.
runtime: Moved QA code that uses blocks to the gr-blocks component.
Merge branch 'maint'
Merge remote-tracking branch 'skoslowski/grc_var_num_msg_ports'
GrTest.camke : If cross compiling use /bin/sh and not path from host.

Signed-off-by: Philip Balister <philip@balister.org>
Add a QA_PYTHON_EXECUTABLE variable so QA code knows what python to use when cross compiling.

With this (and the prior) patch, you can mount the compile directory on the target and run
the QA code (as long as the paths are the same). The qtgui tests fail if there is no X
server. Volk seems to fail for hard float builds.

We'll need to look at adding thes changes to gr_modtool.

Signed-off-by: Philip Balister <philip@balister.org>
digital: fixed for d{b,q}psk to actually use differential modulations.
Merge branch 'maint'
cmake: search the install prefix for cppunit incase it is installed there