build: only set marker if there's no '.pkg-err' file
Build steps for packages predate the .pkg-err file so we had no
way of knowning about the integrity of a build. Now we can
directly check the status of the build.
The side effect is that "make plugins" and "make core" will run
"make ports" if that failed and fail there. While there's a
little overhead in automated scripts this is more consistent with
build flow as we do not start higher targets that depend on broken
dependencies that look correct. This was reported a few times
over the years.