use Mono.Nat for UPnP port forwarding

- might support more devices
- supports internal and external port mapping
- discover the device only once (at startup)
Better UPNP logging. Also fixes a compile error