RepositoryCache rebuild now maintains packages

The task becomes a synchronization, not a wipe-everything and start from
scratch. Means the repositories and packages can be polled at any time
without a brief moment of a repository having no-packages as the cache
is rebuilt