Resolve all domains into IPs for routing

This is to workaround two main issues:

1. nginx only resolves upstream domain names once at startup and then
   caches that indefinitely. This can lead to broken backends if a
   backend's domain IP changes while running.
2. nginx will refuse to start if a domain name cannot be resolved (even
   if it previously resolved when added).

So this basic approach is to integrate DNS lookups into the gatekeeper configuration reloader. We then only write IP addresses to the nginx config file, falling back to 0.0.0.0 if it can't be resolved to solve 2. We then keep refreshing the domain's IP addresses from DNS based on the TTL and then write nginx config files and reload nginx as necessary to solve issue 1.

Fixes NREL/api-umbrella#4 and NREL/api-umbrella#5