(minor) add wb.Snak.prototype.toMap() and wb.Snak.newFromMap()

Adds those two functions which are very similar to toJSON() and newFromJSON(). The plain object
returned by both has the same fields. The difference is that the object's fields returned by the
'map' version do not have to be JSON. In case of PropertyValueSnak the 'datavalue' field will be
the dataValues.DataValue object which would be returned by wb.PropertyValueSnak.prototype.getValue.

Change-Id: I794b87a716e0df0b8d64c8712fe1b8b3318a1767
Merge "(minor) add wb.Snak.prototype.toMap() and wb.Snak.newFromMap()"