[SaaS] Provision Ramped subscription (automated)

<!-- Please complete the template below as best as you can. Make sure to check if this issue has already been raised by someone else first to avoid duplication.

For each section below, please add screenshots or links or anything that may help visual learners understand the problem better, even if this takes you an extra minute or two this is a great help to some folks.

https://www.learning-styles-online.com/style/visual-spatial/

-->

# Feature Request

## Problem

The rollout of Zuora Ramps (https://gitlab.com/groups/gitlab-com/business-technology/enterprise-apps/-/epics/85+) will result in a change to the current structure of a ramp deal. Instead of creating a separate opportunity, quote and subscription for each ramp interval, a single subscription will now include all intervals over multiple years. For MVC launch of Ramps, provisioning of each year (after the first) will be manual. 

However, given the ease of use of Zuora Ramps, there is expected to be a significant increase in the number of Ramp deals in FY23, will result in a burden on the Support team manually addressing provisioning problems. This issue addresses the need to automate provisioning for SaaS Ramp subscriptions.

Discovery work being completed in [this issue](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3754) informs what data is received from a Zuora Ramp deal by CustomersDot which is required to know how provisioning could handled for each ramp interval. You can find the results of a 3 year Ramp test for SaaS [here in this issue thread](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3754#note_804427524).  As you can see, the subscription was provisioned in GL.com for the correct time period and quantity.  However, what's shown on the Manage Subscriptions page in CDot might be misleading as it shows the final state of the subscription (quantity 30).  That problem should be handled in a separate issue though as this should focus on provisioning only

## Proposal

### Start of Subscription
* No change to current process - Given the current state, provisioning should work automatically for the first ramp year as it syncs the quantity for the first ramp from Zuora to CustomersDot for the full subscription term.

### Successive Subscription Intervals
* Update the user's subscription license count to the correct value at the beginning of each ramp period
  * This will require a custom Zuora workflow that sends a callout to CustomersDot to update the .com subscription in subsequent years when the ramp interval changes as this does not currently exist.
  * The decision on whether a custom workflow callout can be used for this purpose was discussed in https://gitlab.com/gitlab-com/business-technology/enterprise-apps/bsa/business-systems-analysts/-/issues/145.  It was decided we will use a Zuora custom workflow for this trigger.
  * The custom workflow/callout is being tested as part of https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/4295.  In this issue, we can just verify the SaaS flow is working as expected once https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/4295 is complete.

Story points: 3.0