miniupnpd/natpmp.c: avoid hang when all external ports in use

The NAT-PMP code attempts to find a different eport if the
requested one is already in use. If all eports are in use, that
would previously cause the code to iterate through the range of
eports forever. To avoid this case, we keep track of the first
eport we attempted to use and abort the loop once we've cycled
through all possible values exactly once (which takes us back
to the initial eport).
miniupnpd/Changelog.txt catch up...
miniupnpd: log message when shutting down
miniupnpd/natpmp.c: avoid hang when all external ports in use

reorganize a bit
Merge branch 'limit_eport_search'
miniupnpd: improve finalize_sendto()
miniupnpd: minor stuff (remove warning, add debug log)
miniupnpd/pf: catch up test programs
minissdpd: accept request of type 3 with 0 lenght argument
testminissdpd: various improvements

more tests.
miniupnpd/pcpserver.c: fix defines

with OpenBSD,  <netinet/in.h> must be included before <arpa/inet.h>
miniupnpd/natpmp.c: return correct error code when all external ports in use

Instead of returning code 3 ("Network Failure"), we should the
more appropriate code 4 ("Out of resources") when no external
port is available for a mapping.
Merge pull request #54 from razzfazz/fix_no_eport_error_code

miniupnpd/natpmp.c: return correct error code when all external ports in...