Implement per-user systemd socket units

The per-user **socket** units are supported in systemd, so I don't see a reason of not supporting them in nix.