Fixed missing initialization of init.
Fixed logic in init_nat_upnp() to only create&return the upnp part, not a duplicate of the holding structure.
Joining UPnP thread after its conclusion.
Added abort function to terminate discovery after timeout.
Some text changes in log messages for consistency and obviousness.