CachedI18NMessageBundleTest: prove single task creation via dedicated test

Create a fixed thread pool (of 30 threads), repeatedly lookup the same locale,
check that the (wrapped up) tryAndLookup() function is only created once.
CachedI18NMessageBundle: get rid of failedLookups set

We don't need it anymore, since FutureTask will retain its final execution
state, even on failure.

We therefore just grab the lock on the map, grab/create the FutureTask and
.get() the value.