(bug 44010) Pass context to UserGetLanguageObject

Only way to avoid messing with wrong request contexts.
Had to add recursion guard too.

Change-Id: Idc11b54752450321e01d92004e08fc95fb6170e6
Merge "(bug 44010) Pass context to UserGetLanguageObject"