Include language in menu cache

This is important if theme/plugin allows per session locale changes
Rename ThemeHelper method names for clarity and to avoid confusion
Use direct check against array keys instead of Hash::get()

Hash::map() was needed since the icon mapping used to be under a nested
array. Since we have a separate variable for this, remove its use.
Merge pull request #578 from rchavik/2.2-theme-method-rename

Rename ThemeHelper method names for clarity and to avoid confusion
Stop processing when node cannot be retrieved