add support for token-level env limits
Upon creation of a new token, it is now possible to specify a limit on how many non-deleted environments the token can have at any given moment.
Token with no limits can still be created. When no details on the limits are supplied, a suitable default is assigned to the token (currently 15 environments)
Also piggybacked a couple of refactors:
- Split the
Tokenmodel into backend and rest, as we previously did withEnvironment - Turn the cross-cutting validator into a proper injectable dependency
Bug: T417304