General update

Updated component in compliance with DataModel 1.0 aiming at being able to properly manage Fingerprint, Item and Property objects in front-end code. Functionality supposed to be obsolete (e.g. toJSON(), newFromJSON()) is removed in favour of using the wikibase.serialization component (see https://github.com/wmde/WikibaseSerializationJavaScript/pull/6 for corresponding changes to that component).
The changes are supposed to add completeness to the component being able to properly model the UI using objects provided by the component. Inspired by the back-end implementation of the data model, there are, however, a few differences. Most obvious is the more intuitive and consistent naming of constructors ending with <code>*Set</code>, <code>*List</code> and <code>*Group</code>. The concept of groups is not a dedicated part of the back-end data model and is, instead, applied and resolved during serialization/deserialization. However, since grouping is an essential logical concept, it should be an integral part of the JS data model.
Looks like this PR does not really change that. You are right though that this is not good, and should be fixed (outside this PR). We had the same situation in the PHP DM, and almost entirely got rid of the issues there.