Do not warn twice (and incorrectly so) about the same issue in do_extrac...

Debugging something I noticed that for a permission problem installing a package I
would always get the following two lines of diagnostics:

  pkg: archive_read_extract(): Can't set UID=0
  pkg: archive_read_next_header(): Can't set UID=0

Reviewing the code in libpkg/pkg_add.c I found that the second was actually only
an artefact of incorrect error handling code.  Using "break" to exit the loop would
then involve the second error handler, after the loop, since this was an issue
different from EOF and hence that second error handler would fire.