ubus: add api for generating and validating security tokens
These tokens can be used to authenticate communication between hosts over
the unet network. Tokens can only be decrypted by unetd on the receiver,
using the private wireguard key.
Since no time based replay checks are performed, the service that validates
the token should first send a challenge to the other side first and verify
its presence in the decrypted token data.
If a service name is passed in the call, validation enforces that both
sides must be a member of that service.
Signed-off-by: Felix Fietkau <[email protected]>