Fix getIntelligentSearchMenu cache

`getIntelligentSearchMenu` checks if a value called `dashboardMenus` exists in cache, but if it does not exists it caches the value `dashboardMenus/locale`.
This causes `getIntelligentSearchMenu` to not use cache.

Let's fix this, by using an *array* with key `dashboardMenus`: so, clearing the cache simply requires to remove the `dashboardMenus` array from the cache (instead of removing all the possible `dashboardMenus/locale` keys).

Furthermore, `getIntelligentSearchMenu` itself put in the cache its result, so that `cacheInterfaceItems` simply have to call `getIntelligentSearchMenu` without worrying about where to store its result.