instance/volume stores only fetch resources once

Add promise dictionary so application knows when a resource is in
flight (already being fetched) so it doesn’t issue redundant fetch
requests.