POC pushing & pulling trunk from an OSI registry
Modify trunk.mk to build JSON files required to build OCI image manifests and an OCI image index, including new make variables TITLE, DESCRIPTION, VENDOR, URL, and REPO_URL.
Add push_trunk, a shell script to take those JSON files and use oras to build the images and manifests and push them to a registry.
Add docker_compose.yml to spin up a PGXN tools image for AMD64 and running Postgres 16, as well as zot, a vendor-neutral OCI registry.
Finally, modify install_trunk to download an artifact from a registry address, rather than build from a local file. Use oras to fetch the image for the current platform. There's no support for distinguishing between artifacts built for different Postgres versions, but there are annotations in the image index that would allow it.