Add --list functionality.

--list can be used to list the packages in a specified
package root. The new PkgRoot class supports determining
the packages installed in a given PkgRoot, and verifying
that the contents are correct.

Stubs are provided for installing, updating and removing packages.
Updated sed, libffi, gettext and expat to use new interface.
Improve OS X build to work with Xcode 4.x

The -Z option doesn't work with clang as provided in Xcode 4.
Instead improve OS X building to use explicit SDKs.