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
Update revision to 3.7.2.1
Merge branch 'maint'

Used merge strategy -s ours to skip release commit.
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'