[FileBackend] Changed copy script to use batches for concurrency.

* Also added a 'subdir' option so multiple shards can be done at once.

Change-Id: Id8c3a89a4cb30978f66db3bf95ebfebc0a9c01b4
(bug 34933) Create "Check: [All] [None]" buttons with JavaScript

This hides unusable buttons for users without JavaScript support.

Change-Id: I5c5752a75993218c5d62604224640ad8435f8b3e
(bug 36938) XSS in uselang parameter

This was caused by the value of getHtmlCode() being injected directly
into HTML without escaping. Despite its name, the return value of
getHtmlCode() is not actually HTML-safe.

Fixed by escaping the language code, wrapping it in double quotes
instead of single quotes, and explicitly documenting that getHtmlCode()
and getCode() do not return HTML-safe values.

Change-Id: I3a908484ba3d4999d7a61ac162617144ca7e703a
(bug 21660) "Pipe trick" full width commas (with test!)

Pre-save transform now accepts full width commas, and a parser test is added,
which passes. Originally done by Conrad Irwin, branched out by Tim in r62689
along with a bunch of other stuff, and then it sat in bugzilla for a few months.

Change-Id: I3302e43bab423835cdaee6bdcfc0252a206490fc
Check validity of fetched titles and show a descriptive messages when an invalid title is encountered.

Change-Id: I87471c4c5de5e66969b1ef8e4addc3a19c4c3b3d
[FileBackend] Process cache fixes and cleanups.

* Made getLocalReference() and getFileSha1Base36() respect latest wrt to cache.
* Made Made getLocalReference() and getFileSha1Base36() normalize the paths for cache.
* Avoid misleading (suggesting cache misses) getFileSha1Base36() profile calls for Swift.

Change-Id: I192a4f00c123029cfa338ec74cd08a355e29896b
Follow-up Idae8d920 (8c65834): no need to call getContext() and escape the message.

Change-Id: I6a6b06be19d4fb655674c2e930a7e5f52374fbe2
For consistency of the interface, don't do expensive checks on page view.

Change-Id: I4dfda5e286d5d78965469410f39504a211624dee
(bug 1) doc for SiteConfiguration

SiteConfiguration was lacking some basic example and a very basic
introduction.

Change-Id: I306f7427ca17b0e271784f4a3e959ca8848dabea
Wrap auto-numbering for section heading in a classed span (bug 33450)

Change-Id: Ibea90c096b1b757c277819fc403eef45209fc94c
Custom  grammar rules in javascript for some languages

Splitted from https://gerrit.wikimedia.org/r/4554
Grammar rules ported to js based on the php code.
Depends on the javascript Grammar parsing support by jqueryMsg

Change-Id: I701954a623467bf6c9abd3160e239c59cab567e9
Correct case for the "MediaWiki:Revdelete-reason-dropdown" link in Special:RevisionDelete.

Change-Id: I4e25044a0db9a0f34cae5b64efaecaf2c1d6bad7
Added result properties to action=paraminfo

Added information about the properties of the results of API calls
to action=paraminfo, including information about "property groups":
what should the prop parameter be set to to get that property.

Uses the same format for types as parameters already do.
The output format of some modules doesn't fit this, so the result
properties for them weren't added, or only partially.

Partially implemented modules:
* expandtemplates:
  parsetree is in its own tag
* protect, allusers, backlinks, deletedrevs, info, imageinfo,
  logevents, querypage, recentchanges, revisions, searchinfo,
  usercontribs, userinfo, users, watchlist, upload:
  response with partially complex structure

Not implemented modules:
* feedcontributions, feedwatchlist, opensearch, rds:
  non-standard reponse
* help:
  error is normal response; not very useful for automated tools anyway
* paraminfo, parse, pageprops, siteinfo, userrights:
  response with complex structure

Change-Id: Iff2a9bef79f994e73eef3062b4dd5461bff968ab
Use local context to get messages

Change-Id: I0cde09a0339fd05c0eb8df9b2abfbfea973f61fe
Double the size of the target input field of Special:Contributions

The current size (20) is not enough for IPv6 addresses.

Change-Id: I80006cabea33b440fe517030a837847187772716
Add passing ''italic'''s case to 'Unclosed and unmatched quotes' test

There are similar cases already in this test, but none of them contains just a
single case in a paragraph.

Change-Id: Ic46265b7f66d24bc51face92ad9be3d02356c104
Added some extra tests for ORMRow class

Change-Id: I672c88d42168a3daf405e6f0a4f204c15a4489ad
avoid Title::exist/getArticleId in ApiQueryInfo::extractPageInfo

For missing title the pageid is not set inside the Title objects, but
the pageid is given to that method, so it is better to use that
pageid to check for exist or to use the pageid, instead of using the
Title method.

Change-Id: I07db242eb37731610ac7a83acdb5e6adfc2951aa
Avoid stale "latest revision" cache when loadPageData() is called.

Change-Id: I37d4217d492ab16965d9cb01c2995036a78ce3ae
Remove useless test in getParamValue function of mediawiki.util.js

Regarding that regexp, when it matches, the result ("m" variable)
is forcibly an array of length 2, m[1] being a defined string
(which may be an empty string).

Change-Id: If40c4bc209719f0f54742d6e3eb6a11b99b57370