objectcache: Actually unserialize integers as integers in RedisBagOStuff

Before:
> SET   (stored)    GET
>  5     5          (string) "5"
>  '5'   5          (string) "5"
>  'x'   s:1:"x";   (string) "x"

After:
> SET   (stored)    GET
>  5     5          (int) 5
>  '5'   s:1:"5";   (string) "5"
>  'x'   s:1:"x";   (string) "x"

Follows-up 2ceda41c5783ddc3cfb.

Bug: 60563
Change-Id: I2bb09381b2bb733ac5a89175e053cb10eca68b08
Add some casts for sanity before BagOStuff::add() calls

Change-Id: I6ecb609c88e4fc1ef614e94c551199bd610ca360
Port preferences test from /qa repo

Add tests for preferences, make  core tests language-independent.
Change-Id: I1ba4e2c53a9e1bdb7b832efec4c2c8f6f64d2b86
Merge "Port preferences test from /qa repo"
Reset RequestContext between tests

Its state can change when people do something with objects it returns or
when they alter globals like $wgRequest. By resetting this singleton, we
ensure that no such change will propagate outside of a test.

Change-Id: I7e8598716d810a09c17f80a05deecab617b62346
Merge "Add some casts for sanity before BagOStuff::add() calls"
Added some sanity warnings to TransactionProfiler

* The use of $id should avoid any nesting, unless something is broken

Change-Id: I01941a186d1e74ddd6c4610b0eb9e15f54e28347
Merge "Reset RequestContext between tests"
Merge "objectcache: Actually unserialize integers as integers in RedisBagOStuff"
Merge "Added some sanity warnings to TransactionProfiler"
Use separate PoolCounter config for expensive thumbnails

Depends on Ic62984e0f4a761642b2bdd1bfa362301ed94c284
and If40e223c328ddd15310d13f2a49000bf6e08200e

Bug: 65691
Change-Id: Ic737673b5a31974d866b9bf5afa4b4036baa03bb
Do not mention deprecated User::isValidEmailAddr() in hooks.txt

Replaced by Sanitizer::validateEmail()

Change-Id: I7b4ef438dd31a2dbc641bb06bea8e256e0f5dd1f
Standardize version comment in OracleUpdater.php

All updaters have a space between // and version number, do this also
for oracle updater

Change-Id: I0f44bd5d1ab5e131cca3cd7ebfaaf1fe91e4d9d8
Localisation updates from https://translatewiki.net.

Change-Id: Ib16f36dc258233455cea345f579a98055529c078
Merge "Use separate PoolCounter config for expensive thumbnails"
Merge "Localisation updates from https://translatewiki.net."
Fix RequestContextTest screwing up $wgUser

Change-Id: Ib3fabc1b016f33bf188682f7f894e8f52417ee40
Merge "Fix RequestContextTest screwing up $wgUser"
Don't unserialize integer reply from Redis incrBy

It does not work with unserialize because RedisBagOStuff->unserialize
expects either strings of digits, or serialized strings.  A plain integer
is neither.

incr docs were incorrect, so fix and expand by copying from parent class.

Change-Id: Ifc9c7a36f221b251ceea0d9a79ae6c3ce5753dd4
maintenance: Simpler OOjs UI pullthrough-script

No need to run grunt test, given that the grunt build from npm install will
suffice for our needs.

Change-Id: I816639290874e4962d5dac7d580d314e3bd1cb16