Fix a bug where pkg_add uses the wrong path when setting modes.

This bug is a bit hard to trigger. What happens is that pkg_add extracts
a file but then uses the wrong path to it when trying to use chown and
chmod to change its owner and mode. It happens when

1. pkg_add first fails to rename(2) a file in the packing list (e.g.
   because of EXDEV).
2. pkg_add later changes its cwd.
3. a second file is extracted
4. pkg_add fails to extract a third file.

In this case, the second file won't have its owner and mode set
properly; pkg_add will use last_chdir as the argument to PUSHOUT, but
this incorrect after the first change to the cwd.
Merge branch '20130323-pkgadd-incorrect-cwd' into markj-develop