nixos: add multi-instance tailscale NixOS module

Rewrite the NixOS module to support running multiple Tailscale daemons
simultaneously on the same host (e.g., one connected to Tailscale SaaS,
another to a Headscale instance).

The module provides two interfaces:
  - services.tailscale (singular, backward-compatible, TUN mode default)
  - services.tailscales.<name> (plural, userspace mode default)

Both share a common submodule definition (instance.nix). Per-instance
isolation is achieved through separate systemd services, state dirs,
runtime dirs, sockets, and CLI wrapper scripts (tailscale-<name>).

Only one TUN-mode instance is allowed at a time due to hardcoded
routing table 52, fwmarks, and iptables chain names in the Go source.

The architecture follows the services.github-runners pattern from
nixpkgs: a shared submodule reused by both singular and plural option
paths.

Co-authored-by: Mike O'Driscoll <mikeo@tailscale.com>
Updates #17678
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
This commit is contained in:
Internal Server Error - Gitea: Git with a cup of tea
500 Internal Server Error

Gitea Version: 1.28.0+dev-477-g8b6ad49a5f