[Reusable workflows] Linux - Move codegened binary builds + upload to a reusable workflow (take 2) (#81564)
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.
Other OS workflows are extracted in these PRs:
- Windows: https://github.com/pytorch/pytorch/pull/81572
- MacOS: https://github.com/pytorch/pytorch/pull/81571
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.
Partially fixes https://github.com/pytorch/pytorch/issues/74480
### Testing
Ran CI with `ciflow/trunk`, `ciflow/binaries`, `ciflow/binaries_conda`, and `ciflow/binaries_wheel` labels
Pull Request resolved: https://github.com/pytorch/pytorch/pull/81564
Approved by: https://github.com/huydhn