Improve luci-proto-wireguard usability

I was using pivpn for peer management of wireguard vpn clients, because I was not able to get working configurations from my openwrt device. I can't really remember why I did not get it to work, but from looking at it now, I think I did not configure the peer addresses in accordance with the "Allowed IPs" setting.

I want to move away from pivpn and use luci for peer management of wireguard vpn clients. What I liked about pivpn was that it was really simple to add clients. The script checked already configured clients, then created configs with pre-configured ip-addresses so all the user needed to provide was a client name.

In openwrt luci, when using the luci-proto-wireguard package, the user can enter everything manually, which is great from a control perspective, but not so great from a UX perspecitve. The user must know which addresses they already assigned to clients in order to create a new config that won't collide with existing peers.

So I created this PR https://github.com/openwrt/luci/pull/8806/changes which enables users to do just that. When they have a wireguard interface configured and want to add peers to it, the logic checks the network address of the interface, then iterates over all peer addresses that are already configured and prefills the peer addresses for the newly added client, when the user clicks on "Generate Configuration...". These addresses also get added to the "Allowed IPs" automatically. So all the user needs to do is provide a description for the client, click on "Generate new key pair", optionally "Generate preshared key" and then "Generate Configuration..." After saving and restarting the wireguard interface, the peer can be used.

The script works for rfc1918 addresses with subnets up to /8. ipv6 is restricted to /64 networks.

There are a lot of comments in the code, can they stay or should they be removed? When opening the pr, the comment template also mentions that nicknames are acceptable in S.O.B. but the pipeline rejects my user name. Is it impossible to use my user name to make a contribution?

There are already WireGuard installer packages see: