(bug 44636/hot fix) added EntitySerializer option setIncludeValuesWithMissingReferences

This is basically I7d0a971b from Master.

Added EntitySerializationOptions::setIncludeValuesWithMissingReferences() which can be set to false
to change serializer behavior to not include Snaks using missed properties (e.g. missing because of
deletion). With the option set to false, this can also end in a whole Reference or Claim not being
included in the following cases:
- Claim: If the main Snak is affected
- References: If all Snaks of the Reference are affected or if the Reference only consists of one
  Snak which is affected.

* made all related serializers aware of the option
* if a serializer runs into the option and one of above cases, an empty array will be returned as
  serialization. Upstream serializers will check for an empty array being returned.
* Introduced a new SerializerObject, renamed the old one to GenericSerializerObject and added a
  todo to move it into core or out of the Wikibase namespace.
* Changed EntityView to use the newly introduced option so frontend wouldn't run into the
  situation where it had to get the missing entities from the local entity store.
* minor fix in claimview.js to handle removed properties used in references snaks.

Change-Id: Ife7e2d087748974f3e0dfb8fd80916baefb75b5a
Merge "(bug 44636/hot fix) added EntitySerializer option setIncludeValuesWithMissingReferences" into mw1.21-wmf9