work around a GCC bug

g++ rejects anonymous struct instances as arguments to functions
templated to accept anything Callable for some reason.
Fixed some defines
Merge branch 'bl-hbcomp' into development
fixing error message; switching positional options (so that send works without IP or -c)
explicitly specify base class template arguments for older g++
fixed #131
Merge branch 'development' into bl-hbcomp
switching positional options (fixed #132)