block in catalog if someone tries to add something early

fixes the intermittent error we've been getting, such as:

https://buildhive.cloudbees.com/job/brooklyncentral/job/brooklyn/2413/io.brooklyn$brooklyn-core/testReport/brooklyn.entity.rebind/RebindCatalogEntityTest/testRestoresAppFromCatalogClassloader/

does so by blocking if the catalog is not yet fully loaded when someone tries to add something manually to it.  there are better fixes as noted in the code (manual additions could be done in bg) but this is a quicker pragmatic workaround.
Right, thanks. I missed the `volatile` declaration, but that's probably a good argument in favour of not doing this; it's difficult to tell at a glance whether the idiom is broken or not, my first-order pattern matching scan of the code just alerted with a _do not want_ and I suspect this is true for most casual reviewers.