initialize Property directly with datatype

the datatype is requested to the API only if the serialized snak
doesn't contain one, to speed things up.

since Claim.fromJSON() tries to detect the datatype from the snak,
snaks that reference deleted properties can be serialized correctly

bug: 54235
Change-Id: I9a36503d165f66fbb6f47985db9798dc1bb9a9a7
Merge "initialize Property directly with datatype"