Micro optimization when fetching a magic from cache

The Language::getMagic() methods would request a full copy of the magic
words array from the cache.  Instead use LocalisationCache::getSubitem()
to only fetch the magic word we are interested in.

I do not think that makes that much of a difference, but that is
certainly nicer.  Note that getSubItem() returns null on miss instead of
the previous 'false', that still works for the !is_array().

Change-Id: I02824fd313eeecb5e5b26cb79d7b5549f6648f91
Merge "Micro optimization when fetching a magic from cache"