Standard implementations for hashCode(), equals(), and toString()

These new static methods can be used for arbitrary implementations of
the WDTK data model. They evaluate object based on their interfaces
only. This makes it easier and cleaner to introduce additional
implementations for WDTK interfaces.
Static methods for creating WDTK objects

We don't really need a factory in most cases. Moreover, this code has
some convenience methods that make it easier to create data objects for
common default values. In the future, it might also support
builder-style object creation for some of the classes.
Updated test files to match new hash codes
+Release notes, +note that static data object creation is preferred
Merge pull request #94 from Wikidata/datamodel-helpers

Static constructor methods for data objects + standard implementations for hashCode(), equals(), and toString()