PLAT-345 wrap $wgUser object when posting to wall

The call stack used by buildNewMessageAndPost does not pass the $user
object all the way down the stack but instead falls back to $wgUser. We
have two choices-- we can alter core to pass $user down or we can wrap
the global. The former is preferred but risky. The latter is a compromise with the
GlobalStateWrapper. Going with the latter.

/cc @owend
Running stylize.
PLAT-345 fix $textMessage omission

The $textMessage variable was not being passed into the scope of the
anonymous function being called via the GlobalStateWrapper. Added it to
the scope and added a test to make sure it's being passed through.

/cc @grunny
Merge pull request #4411 from Wikia/plat-345-take-three

PLAT-345 wrap $wgUser object when posting to wall (release branch PR)