Various changes for vet and lint

Should be style only, i.e. no behavioral changes. The one borderline behavioral change is in upnp where we used []*IGD etc everywhere and I think it's simpler and less worrying ("hmm. pointer. Is something changing these after the fact?") with just a plain []IGD.