fix pollUntil in integration tests
add new `BMP.BIC.whenPopulated()` function and documentation
`BMP.BIC.collections()` now waits for data, returns cached Promise
`BMP.BIC.populate()` now waits for collections to exist
router doesn't call `inheritanceChain` until after `whenPopulated()`