Refactor package loaders to make the version part of BasePackageInfo
Half the loaders already had a version field in their PackageInfo class;
and the version name needed to be passed almost everywhere p_info already did.
This removes some duplication and inconsistencies between loaders.