Set the foundation for multiple platform support

Poudriere is hardcoded for FreeBSD in many places.  This patchset sets
the foundation for abstraction.  Much more is needed, but this is a
good start to lay the foundation.