Reworked appdata handling
Reworked appdata handling

We now do proper reference management when overwriting a set
appdata value. Also, we no longer by default do not increment the
reference count to allow circular links between the pool and its
appdata.
Instead, we now have a appdata_disown() pool method that does
the referenct tweaking. So you have to really know what you're
doing if you call appdata_disown.

We also now have an "appdata_linked" method for tcl, as tcl does
not have references which makes the normal appdata mechanism
kind of useless.

JacksonIsaac/libsolv,JacksonIsaac/libsolv,JacksonIsaac/libsolv,JacksonIsaac/libsolv,JacksonIsaac/libsolv