Introduced SnakGroups

The datamodel was updatd so that all lists of Snaks are grouped
by the snak property. This affects statement qualifiers and references.
Due to the latter, this also fixes issue #44.
Documented changes
Fixed bug in JSON conversion of snak lists

EntityType was used instead of EntityId for grouping snaks in JSON.
Interestingly, the test cases were specifically checking for the wrong
output as well.
Merge pull request #53 from Wikidata/datamodel-updates

Introduce SnakGroups into data model