Add three options to `services.github-runners.<name>`:
- `githubApp`: authenticate via a GitHub App installation instead of a
`tokenFile`. The service derives a short-lived installation token from the
App's private key on each start, registers the runner, and de-registers it
on stop. The PEM key is a deployed secret, never copied into the store.
- `count`: fan a single entry out into N identical runner services.
`github-runner-<name>` is unchanged for `count == 1`, suffixed `-<n>` for
`count > 1`.
- `orgs`: serve several organisations (or repositories) from one entry,
fanning out into `github-runner-<name>-<org>-<n>`. The entry-level auth is
shared across orgs and only the App `login` changes per org; the per-org
`count` defaults to the entry-level `count`.
This brings the multi-org consumption shape of the soon-to-be-removed srvos
runner role (nix-community/srvos#836, nix-community/srvos#837) into nixpkgs.
An entry without `orgs` and with the default `count = 1` is unchanged, so
existing runners do not re-register.