Thread pool for persisting to Object Store

I plan to look at removing duplication from `BrooklynMementoPersisterToObjectStore`, but not in this pull request.
Reads are done concurrently, but Runnable in `loadMementoManifest` and `loadMemento` does the read + deserialize + exception handling. Doing just the read in an async convenience wasn't helpful in terms of keeping the code simple (not that it's simple, unfortunately!).

Without this, we'd get maybe 5-10 reads a second (from my home network anyway) so rebinding 100 entities in the two phases would take 20-40 seconds.

We should consider retrieving each just once - not worth it for file-based but good for objectStore-based. However we'd need to either write a bunch of temporary files, or keep potentially a lot of data in-memory. One to defer but think about.