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.
Well, this post says that the value should be `0`. I guess you have some odd router that treats `ui4` in some kind of different way...