Move _generate_install_id outside of PackageInstaller
Move build step into separate classes for (non-)relocatable packages