support flags in DUChanges struct, support DUCHANGES_ONLYADD flag

This was done for btrfs, which doesn't free disk space if the
overwritten files are on a snapshop. In this case, we only add the
new needed space.
The code also uses installed package with the same name or an
obsoleted package if no du data is available.

This is actually a API change, a new element to the struct had
to be added. Fortunately only libzypp uses this function, and
libzypp is linked against a static version of libsolv.