Use higher port when reuseaddr is set and the default port is busy
Use higher port when reuseaddr is set and the default port is busy

Fixes issue #91

If the UPNP_MINISERVER_REUSEADDR option is active, set SO_REUSEADDR on the
socket, but then proceed to loop on busy ports until we find a free one
(using the existing code from the non-reuseaddr case). This allows a single
instance of libupnp to always use the same port, even immediately after a
restart, but also allows multiple instances to use different ports without
need for explicit configuration.

mrjimenez/pupnp,mrjimenez/pupnp,mrjimenez/pupnp,mrjimenez/pupnp