implement updateinfo caching

Things are a bit tricky, as the updateinfo is not an extension
for existing solvables, but contains its own set of solvables.
libsolv should offer more support for this kind of setup.