first-run: Reduce use of ksb::Util, remove dead code.
Some minimal versions of popular Linux distros have Docker images that
provide a stripped-down Perl install to save space. You cannot rely on
"core" modules being present in this case.
kdesrc-build should be able to at least spit out a message of which
packages are required on the distribution. This means that
ksb::OSSupport and ksb::FirstRun must be loadable in this distros, and
kdesrc-build must not load "full fat" Perl modules until after checking
whether to handle initial setup.
Making this happen leads me to refactor exception code out of ksb::Util.
While doing so I noticed that download_file is no longer needed
(kde_projects.xml support drove that need), so that is removed as well
to eliminate a dependency on HTTP::Tiny (a core module, but not
available in minimal distros).