[SM] Provision Ramped subscription (manual)

<!-- 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 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 deals that ramp in quantity over each interval, additional licenses need to be provisioned at the beginning of the interval. This issue addresses how to provision these ramp licenses for Self-Managed Subscriptions.

Discovery work being completed in [this issue](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3754) will inform 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 SM [here in the issue](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3754#note_807607785).  As you can see, the resulting license was generated for the correct initial time period (the 1st year of the ramp), but the quantity was incorrect.  The quantity was for the active/final ramp of the subscription (e.g. 30) instead of the initial ramp (e.g. 10).

## Proposal
### Start of Subscription
* For MVC Zuora Ramps launch (expected May 2022), follow current process of automated provisioning and send the customer both a cloud activation code and an offline cloud license file for year one of a multi-interval ramp deal
  * Ramp deals currently follow the [default Cloud Licensing behavior](https://gitlab.com/gitlab-com/business-technology/enterprise-apps/intake/-/issues/527#super-sonics-fields-and-standard-exemptions), with the customer receiving both license types
  * With the launch of [Strict Cloud Licensing](https://gitlab.com/groups/gitlab-com/business-technology/enterprise-apps/-/epics/379), [Ramp deals will be no longer be an exemption and will be set to Yes](https://gitlab.com/gitlab-com/business-technology/enterprise-apps/intake/-/issues/526#post-update-state-of-cloud-licensing), with all Ramp customers receiving Cloud Licensing.
* Ensure the start date, end date, and quantity of the license generated for ramps is correct for both types of licenses, cloud and offline cloud.
  * Cloud: Make sure the licenses generated at activation and in subsequent seat link have the correct information based on the current subscription, and not the latest (active) data in Zuora.
  * Offline Cloud: Ensure the license generated by the `LicenseNotificationService` triggered by the callout uses the correct start date, end date, and quantity for the current subscription (e.g. first ramp year).

### Successive Subscription Intervals
For [MVC Zuora Ramps](https://gitlab.com/gitlab-com/business-technology/enterprise-apps/intake/-/issues/433#update-20211103), Sales will only be able to create annual ramp intervals. However, there may be rare instances created by Sales Ops for specific customers will a subscription could ramp semi-annually, quarterly or monthly.
* For Self-Managed licenses, provision as follows:
  * For annual ramps: support team to provision license(s) immediately at start of subscription year. This will follow their [existing process](https://about.gitlab.com/handbook/support/license-and-renewals/workflows/self-managed/handling_multi-years_subscription.html).
  * For more granular ramp intervals: support team to provision license(s) immediately at start of interval based on service effective dates. This will follow their [existing process](https://about.gitlab.com/handbook/support/license-and-renewals/workflows/self-managed/handling_multi-years_subscription.html).

NOTE: Ramp deals that increase in price only each interval will not require any manual licensing.


## Next steps (if any)
* Evaluate/implement automated provisioning of successive Ramp intervals to remove Support burden of manual provisioning. Work being tracked in [this epic](https://gitlab.com/groups/gitlab-org/-/epics/7192).

## References:

- This is a sample subscription which is ramp enabled Tyler has used for testing: https://apisandbox.zuora.com/apps/Subscription.do?method=view&id=8ad08e01802632c4018029ad428155fb

Story points: 5.0