Seat Link fails when license data contains subscription id exceeding 64 characters

https://sentry.gitlab.net/gitlab/customersgitlabcom/issues/2708483/?referrer=gitlab_plugin

```
PG::StringDataRightTruncation: ERROR:  value too long for type character varying(64)

  app/services/seat_link_create_service.rb:22:in `execute'
    if seat_link.save
  app/controllers/api/v1/seat_links_controller.rb:13:in `create'
    ).execute
  lib/middleware/health_check/health_check_responder.rb:14:in `call'
    return @app.call(env) if format.nil? || (ip_blocked(env) && not_authenticated(env))
...
(135 additional frame(s) were not displayed)

ActiveRecord::ValueTooLong: PG::StringDataRightTruncation: ERROR:  value too long for type character varying(64)
```

### Problem

Seat Link fails when the license in the request contains a `zuora_subscription_id` that exceeds the limit (64 characters) for this column in the `license_seat_links` table.  This appears to be happening because LicenseDot does not have a length limit on the `zuora_subscription_id` column and some manually created licenses exceeded 64 characters.  When these licenses are received used for Seat Link, we see the errors like above.

In reality, a `zuora_subscription_id` should only be 32 characters in length so anything longer than that is likely a mistake.  It appears there are 9 licenses currently in LicenseDot that exceed this limit.  In all 9 cases, the `zuora_subscription_id` appears to be a mistake, where a URL was entered instead of an id (see below from LicenseDot).

```
irb(main):001:0> License.where('LENGTH(zuora_subscription_id) > 64').count
D, [2021-08-05T15:03:28.552984 #62] DEBUG -- :    (477.9ms)  SELECT COUNT(*) FROM "licenses" WHERE (LENGTH(zuora_subscription_id) > 64)
=> 9

irb(main):002:0> licenses = License.where('LENGTH(zuora_subscription_id) > 64').pluck(:zuora_subscription_id)
=> ["https://www.zuora.com/apps/Subscription.do?method=view&id=2c92a0fe65cb1a800165d208b79e5a56", "2c92a0fd7912307c01791493f4342e59#anchor2c92a0fd7912307c01791493f4592e5e", "https://www.zuora.com/apps/Subscription.do?method=view&id=2c92a0ff64176cd401641ee1a7ce411b", "https://gitlab.recurly.com/subscriptions/36cee8c72c0efd0ceb07ec4c04b8367a", "https://gitlab.recurly.com/subscriptions/36cee8c72c0efd0ceb07ec4c04b8367a", "https://gitlab.recurly.com/subscriptions/36cee8c72c0efd0ceb07ec4c04b8367a", "https://www.zuora.com/apps/Subscription.do?method=view&id=2c92a0fe65cb1a800165d208b79e5a56", "https://www.zuora.com/apps/Subscription.do?method=view&id=https://www.zuora.com/apps/Subscription.do?method=view&id=2c92a0fe65cb1a800165d208b79e5a56", "https://www.zuora.com/apps/Subscription.do?method=view&id=2c92a0ff67756a270167762a68561538"]
```

### Proposal

This error should not happen with cloud licensing but there are things we can do to limit this happening going forward.  Here are some things to consider:

- We can validate the `zuora_subscription_id` when creating licenses.  We have an issue for this already: https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3385.
- We should include rails validations on the `License` model to match the limit DB constraints for a better user experience when creating licenses.
- We could have sales or support provide corrected licenses to customers to avoid the errors above.

Story points: 1.0