Add catalog.official._refreshFutures back in.

This allows `catalog.official.refresh` to be called during another
refresh that has yielded.

`catalog.official.refresh` still cannot be called re-entrantly, so
`recordOrRefresh` checks if a refresh is in progress before starting a
new one.

No idea why, but this commit makes the "sync local catalog" test pass.