Changed $.fn.applyTemplate mechanics

applyTemplate() expects a template to have a single root node. Appending the root node to the single
node applied to the function creates a unnecessarily nested structure. In addition, this removes
the possibility to add nested DOM nodes, like a table content structure, to a <table/> node.
With the change, instead of the whole template, only the template root node's children are appended
to the element the template is applied to. Consequently, now, a template definition may have a DOM
structure that completely represents an HTML segment.

Change-Id: Idfa84a66b4d3b6c0305bb89ebba26b16388fe56d
Introducing MergeItemsInteractor

This factors the common logic of the MergeItems api module
and the MergeItems special page into a separate interactor
class.

This also introduces two test helpers, EntityModificationTestHelper
and ApiModuleTestHelper that are expected to be re-used when we
factor interactor logic out of more API modules.

Bug: 68730
Change-Id: I2987e6875e288632cf9ca3ec8199581b427fc2cd
Replace some assert() with actual code

This is related to the planned HHVM switch. assert() depends on a
setting. It may do nothing but should in these cases.

Change-Id: Ic5548eba2e0b673bd5c937bfc8c7c82915de014c
Merge "Changed $.fn.applyTemplate mechanics"
Merge "Replace some assert() with actual code"
Make tests compatible with DataModel 1.0

Basically, do not add Claim objects to Items. Use Statement objects.

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

Change-Id: I684711be1cceced3ff6c7350f8bfbf1fda1cc188
Merge "Make tests compatible with DataModel 1.0"
Drop/replace some pointless assert()

This is related to the planned HHVM switch. assert() depends on a
setting and may do nothing.

I think most of these assert() are more confusing than helpful.

Change-Id: I19044396ba8d6c8046aee465b505efa06ebbb140
Add i18n for the 'item-redirect' user right

Follow-up to Iecb9f05d199db60c775f9b19bc64439aeed3011d

Change-Id: I5f9b725e55f4350a43ef9cf6ed9cd6c7e2d11de0
Implemented jQuery.wikibase.descriptionview

jQuery.wikibase.descriptionview replaces DescriptionEditTool and EditableDescription

Change-Id: I3bbc60aac809e5268e38ecca3013ae4fc0b66fde
Merge "Implemented jQuery.wikibase.descriptionview"
Implemented jQuery.wikibase.labelview

jQuery.wikibase.labelview replaces EditableLabel and LabelEditTool. PropertyEditTool and
corresponding components have become obsolete by this change set and are removed in a
subsequent change set.

Change-Id: Id36ab9c2dd0a3acb0c19e34c3ce8c8b2e7b954bb
Do not output "(new)" in FingerprintView

Having a View with no EntityID is currently not relevant in production
but this should not happen anyway.

Change-Id: I24c6c2aa806dc4f26c7710acc56785f147088c6e
Make ChangeOpsMergeTest compatible with DataModel 1.0

Change-Id: I5e68a7039898f45cfaee3081e27759b9dc91f761
Make Item/PropertyViewTest compatible with DataModel 1.0

Change-Id: I4daf8abfbe57b07782514b89e9af937e5d988b12
Moved initializing basic entity widgets to entityview

Widgets for label, description, aliases and site links have been moved to entityview.

Change-Id: I41083f9386523e97720ebd44649e8b164c6a716d
Optimized copyright tooltip logic

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

Change-Id: Ic4c79cfb410364cf4e75ebb80d8a297be03766e6
Fixed TermBox toolbar initialization

Temporary hack will be resolved in change Id0a2457d4083ada7d2a705ca0c255f0e8f744016.

Change-Id: I7381536c9bf87a681dba6240f3f7f84d1f419389