Add a caching layer, so we don't pound cloud providers for ip addresses.

The pod polling interval is 10 seconds. Is 30 seconds long enough? 

Anyway, I suppose we can always tune this later, make it configurable, etc.