Updated datamodel for time

Changes based on discussions in Berlin last week:
* integer seconds
* timezone offset in integer minutes
* tolerance ofr "before" and "after"
New EntityDocuments to replace EntityRecords

This change implements results from the datamodel discussion
in Berlin last week. Future EntityDocuments will be needed
for queries and media pages on Commons. Not all of them will
have terms (label etc.).
Allow arbitrary strings as entity type

This change is based on the discussion in Berlin last week.
It should be possible to add new entity types in the future,
maybe even in some local configuration, and hence the types
need to be extendable. The strings used to identify the known
types are the IRIs of the corresponding classes in the RDF
export.
Use longs instead of doubles to define coordinates (fixed precision)

Positions are now measured in whole nanodegrees. This might still
change, but the datatype (long) and basic setup will remain.
Remove URLValue

URLValues are currently not used as primitive values
in Wikibase. URLs are represented by StringValues instead.
Name changes for clarity and consistency

ALl Value classes now contain "Value". The IriValue interface
was remaned to IriIdentifiedValue to clarify that it is not 
a primitive value for IRIs.
New classes for representing references
Support for Claim objects
Make Statements refer to Claims instead of extending Claims

A subtle change in the data model as discussed in Berlin
last week. Statements are no longer special kinds of Claims.
The new modeling matches the current public documentation but
is different from the current PHP implementation.
Add licence headers
New MonolingualTextValue type
Rename some elements for consistency
Use MonolingualTextValue instead of String for all terms

This was discussed to be the cleaner solution, though it creates
some overhead in terms of data size.

(The commit only contains some minor renamings for consistency)
Add StatementGroups

These groups of statements will be used to represent the groups of
Statements seen in the WIkibase UI. They will replace the list of
Statements in the current ItemDocuments.
Merge branch 'datamodel-general-update' of
https://github.com/Wikidata/Wikidata-Toolkit.git into
datamodel-general-update

Conflicts:
	wdtk-datamodel/src/main/java/org/wikidata/wdtk/datamodel/interfaces/DataObjectFactory.java
	wdtk-datamodel/src/test/java/org/wikidata/wdtk/datamodel/implementation/DataObjectFactoryImplTest.java
Use StatementGroups in ItemDocuments

This replaces the earlier use of lists of Statements. The grouping
reflects the grouping of properties in the Wikibase UI and API, but is
not found in the current dumps.
Support for Statement Ids

Ids are used to communicate with the API and should be represented
in the data model explicitly, even though they are not entered by
users.
Simplify creationg of EntityDocuments with terms

The constructors now accept lists of MonolingualtextValues instead
of requiring Maps as before. The maps are constructed automatically
from the lists, providing some additional validation.
Unified identifier and method names in tests
Extended tests for GlobeCoordinate