(maint) Unconditionally popd after pushd regardless of job status

We're encountering a problem where `createrepo` may fail during the
process of generating repo data for platforms. When this happens,
the conditional '&&' is never triggered, so popd is never run.
This leads to a cascade failure due to use of relative paths.

Step one in tracking this down is to remove the conditional '&&'
and unconditionally popd regardless of the exit status of createrepo.

Step two is making sure that we don't attempt to pushd into a directory
that doesn't exist.