syncd: support delta updates
Support delta updates of entries: by sending over only the modified fields of a BinaryJSON entry, smaller updates can be made. This allows for simpler data models where data does not need to be split according to data lifetimes (no combining is needed in the client). Be careful with deleted fields. Probably only works with historical syncing and/or a live update system (not sending over the state hashes, and sending diffs). To implement it efficiently server side, when an entry is modified, also send over the old object (so a diff can be made) (implemented in BinaryObject::CreateDiffObject()
). During initial sent, the old object is of time stamp at, during later updates, the old object is the previous object.