some libc implementations don't define struct ip_mreqn
define it here if CFLAG passed with -DNEED_STRUCT_IP_MREQN

I found this issue cross compiling for ARM using eclibc in the
https://www.yoctoproject.org/  build system.
Merge pull request #45 from karlhiramoto/master

fix cross-compile:   some libc implementations don't define struct ip_mreqn
miniupnpc: define MAXHOSTNAMELEN if not already done
miniwget.c: fixed potential buffer overrun
miniupnpc.c: UPNP_GetValidIGD() now checks for ExternalIpAddress
testminiwget.sh: fix comment (it now works with dash)
upnpcommands.c: fixes potential null dereference. Fix #046
upnpc.c: --help and -h arguments

fixes #037
Merge remote-tracking branch 'upstream/master'