Fix sanity checks not properly recursively deleting packages

This was manifest as missing dependencies during package building
due to out-of-order builds caused by the queue not having
the proper dependency list because of not rebuilding some
packages when their dependencies were deleted.

This was mostly due to using || on commands which disabled the
set -e handling. By properly recording return statuses and returning
and checking on them sanity_check_pkgs again works.

This was a regression from [3540bd46d9]

Reported by:	antoine, mat, bdrewery
With help from:	antoine