Move global s_cache out of globals and into per-tenant/per-region Nova API state.

This should probably go into a PR of its own.