add support for indefinite leases on port mapping

Some routers - namely mine - do not support temporary leases. So, after a bit of research into UPNP, I discovered that you can request an indefinite lease by supplying the value `ui4` as the `NewLeaseDuration` parameter - which I have no idea why or what that value even means.

So, now if you supply `Infinity` as the `ttl` value on `portMapping()`, you will request an indefinite lease.
Another question, why `ui4`? I thought `Infinite` value was `0`?