Refactor and fix OSX support

This PR:

- Refactors the crazy compile time vs run time logic into a single DSL method
- Adds some additional packages on various platforms
- Fixes OSX support
- Adds FreeBSD support

:warning: I can't get FreeBSD packages to install locally. Need to work through this issue before merge.