TRUNK-3675 Cache results from getSearchLocales()

We also need to evict the entire cache when calling adminService.saveGlobalProperty (it may change getAllowedLocales()). Also Context.geLocale may change, but I'm not sure if that's actually necessary when computing getSearchLocales(). I feel it is included in allowedLocales. Could you please check that?