Set max idle connections.
Add simple caching. Fast, but not configurable.

I'd like to move caching out into startup tasks that are then
refreshed according to goroutines with intervals as parameters. I
need to figure that out.