Bundle version cache and Set<SystemPackage>

Mainly cleanup & optimization.

SystemPackages can also be stored in random order, but this resulted in a really ugly package list.