CachedI18NMessageBundle: fix bug with .putIfAbsent()...

For locale l, if map already contained source s1, but tryAndLookup() returned
s2, then s2 would be returned instead of s1... Fix.