Refactor how binaries are located on the path

This now correctly allows POSTGRES_HOME to override binaries found in the path.