fix cross-compile:   some libc implementations don't define struct ip_mreqn

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.

without this patch, my build fails:
 arm-poky-linux-gnueabi-gcc  -march=armv6 -mthumb-interwork -mfloat-abi=softfp --sysroot=/home/karl/Work/yocto/poky/build_mvs/tmp/sysroots/my_board -O2 -pipe -g -feliminate-unused-debug-types   -c -o miniupnpc.o miniupnpc.c
miniupnpc.c: In function 'upnpDiscover':
miniupnpc.c:517:21: error: storage size of 'reqn' isn't known