Changes after review of API

Data integrity in wbsetitem, previously it was basically none,
it will now only store values that it recognizes. Also site ids
and language ids are checked, and the values are normalized.

There is no implicit creation of items anymore, all items must
be created through explicit calls to wbsetitem.

It is possible to turn on deletion of empty items. This is not
tested. How to handle deletion needs further investigation,
especially the rights part.

Use of the parameters item, link and attribute is removed.

Some permissions that doesn't give any meaning anymore was
removed, and some other was renamed.

Patchset 3: Deleted files breaks tests.

Patchset 4: Mostly whitespace and removing unused code.

Patchset 5: Fixed an erroneous example URL in wbsetitem.

patchset 6: UI changes to create item logic to go along with API changes

patchset 7: fixed commit message

patchset 8: whitespaces and removed unused code

Patchset 11: Grrrr...

Patchset 12: Now usekeys are true in the config.

Patchset 13: Removed usekeys from an URL in the user interface

Change-Id: I4a66af658dd1ac8cf4a044c3fde0e6857418fd91
Merge "Changes after review of API"
Consistency tweak: json -> JSON

Per https://en.wikipedia.org/wiki/JSON

Change-Id: Iceac692135cff279826dfafecd598e6bf9f2ab1b
Localisation updates from http://translatewiki.net.

Change-Id: I168950c65bc60d1ad37a77790927f0f74625ac08
fixing JS error when cancelling the adding of a site link

Change-Id: I0d87f85ac0bfc0b738b74678a4a9937c8e58cde9
Localisation updates from http://translatewiki.net.

Change-Id: I9a64df830bd6a6b58033146a8732961da40d6a7a
Multiple similar items stored in result trows an error

When wbgetitems finds several items and tries to store them
in the result, then the it ends in an error due to duplicate
entries in the result structure. The patch makes the ids unique
before further processing.

See also bug https://bugzilla.wikimedia.org/show_bug.cgi?id=38355

Added tests to the initial commit.

Change-Id: I23e1e0b7f075e9c73b5b885f35d9cc233632b26e
Fix type mismatch in ItemDisambiguation::getHTML.

Change-Id: I04994224583dad2c4126a7f15abda07eacfb610a
Request items through multiple sitelinks pairs

To avoid multiple requests for items through wbgetitems the sites
and titles can take several entries. If the number of entries is
to few in one of the lists it is repeated until the number of pairs
are complete. Important edge cases are when one of the lists contains
one single entry and when they are of equal length. The first situation
is like the present, when one site is used for all titles or one title
is checked against all sites, and the last situation is when the list
represents a single list of pairs between sites and titles. The last
situation is comparable to a use case where all existing sitelinks
in an article are checked in one request.

Patchset 2: Added a typecast to an integer to make it clear how it is
handled.

Change-Id: Ic31835bf2e259373fbba2445b148a30744c30ab8
Added flags to ItemContent to make it respect botflags.

Patchset 2: Some changes to ApiModiyItem.php was not included.

Patchset 3: Some minor changes.

Change-Id: Icd0f8759fc5d9f31ecac3a229b08fb8f684546a8
Merge "Request items through multiple sitelinks pairs"
Merge "Added flags to ItemContent to make it respect botflags."
Added use of gettokens in wbgetitems.

To be able to ask for tokens already in the initial call to wbgetitems
saves an additional roundtrip to the servers.

Patchset 2: Rebase

Change-Id: I2463ad4f439e577fc185963c666dfe8e94df321b
small fix: added additional refresh to blocked_user test

Change-Id: I66a745b110b2a4166380afcd823ae4b6b1c503f7
Merge "small fix: added additional refresh to blocked_user test"