Switch to a WaitGroup for synchronous caching

Previously, GetAllFromChildMaps() was using a sort of ad-hoc blocking
scheme involving a chan interface{} and decrementing counter. This
commit achanges to using a *sync.WaitGroup for that, which is the entire
purpose of that type.

Close #53