Resolver rebase

Rebase on upstream master.  This is largely just to get the "don't deploy an empty resolv.conf" fix, which has bitten us a few times in the past.

@kvs and @baldowl for comment