[Reusable workflows] Move codegened linux binary build/test/upload to a reusable workflow (#81044)
Refactor the codgen used to generate linux binary builds into reusable workflows
This PR extracts out what's needed for binary builds & tests for linux, and the upload step that's shared by all OSes. Future PRs will extract out the steps for Windows and MacOS workflows as well
The one exception here is I left the ROCm workflow steps as codegen since bugs with those workflows would bring down the entire ROCm runner for all other users as well. I might retry moving those to a separate reusable workflow in a future PR
Partially fixes https://github.com/pytorch/pytorch/issues/74480
### Testing
Ran CI with `ciflow/binaries` and `ciflow/trunk` labels
Pull Request resolved: https://github.com/pytorch/pytorch/pull/81044
Approved by: https://github.com/malfet