Upstream field updates

The backend sends the `upstream` field as a map when querying packages and requesting a list of upstream versions. This changed from the previous simple string and now allows tracking upstream versions of each queried repository.

With this change more tests were added to ensure that outdated infos are set correctly as well.

solves #36