Instrument Customer Portal Subscription management flows (SaaS and Self-Managed)

## Summary

As we begin to improve the measurement of our full e-commerce funnel we need to ensure we have proper instrumentation across all purchase flows so we can measure each step of the funnel. 

This issue will focus on subscription management flows in Customer Portal.

* Collection tool: Snowplow
* Release behind the feature flag (separate from https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/3689): `tracking_subscription_management`

### Information to track (Self-Managed)

| Type | Description | Location | Event Category | Event Action | Event Label |
| ------ | ------ | ----- | ----- | ----- | ------ |
| Event | User clicks `Upgrade` | */subscriptions/A-* | Webstore | Click | Upgrade subscription | 
| Event | User clicks `Add more seats` | */subscriptions/A-* | Webstore | Click | Add seats |
| Event | User clicks `Cancel subscription` | */subscriptions/A-* | Webstore | Click | Cancel subscription |
| Event | User clicks `Renew` | */subscriptions/A-* | Webstore | Click | Renew subscription |


### Information to track (SaaS)

| Type | Description | Location | Event Category | Event Action | Event Label |
| ------ | ------ | ----- | ----- | ----- | ------ |
| Event | User clicks `Upgrade` | */subscriptions/A-* | Webstore | Click | Upgrade | 
| Event | User clicks `Add more seats` | */subscriptions/A-* | Webstore | Click | Add seats |
| Event | User clicks `Cancel subscription` | */subscriptions/A-* | Webstore | Click | Cancel subscription |
| Event | User clicks `Renew` | */subscriptions/A-* | Webstore | Click | Renew subscription |
| Event | User clicks `Buy more CI minutes` | */subscriptions/A-* | Webstore | Click | Buy CI minutes |
| Event | User clicks `Buy more storage` | */subscriptions/A-* | Webstore | Click | Buy Storage |
| Event | User clicks `Change linked namespace` | */subscriptions/A-* | Webstore | Click | Change namespace |

Any other information we should be tracking as part of the subscription management? For example:

* `Add more seats` - track full transaction
* `Upgrade` - track full transaction
* `Renew` - track full transaction
* `Buy more CI minutes`/Buy more storage` - track full transaction
* `Change linked namespace` - track full transaction
* `Cancel` - is already tracked
```
Event Category : subscription_card
Event Action : subscription_auto_renew
Event Label : cancelled
Event Property : experiment
```

### Implementation plan

|||
|-|-|
| Add [`tracking_subscription_management`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/feature_flags/114/edit) Feature Flag | gitlab-org/customers-gitlab-com!4126 |
| Add tracking events for SM/SaaS Subscription management flow | https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/4787  |
| Add tracking events for SaaS **specific** Subscription management flow | https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/4838  |
| Add BE tracking for full transactions | https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/4825  |
| Extra: split SubscriptionButtons into 3 smaller compoents | https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/4788  |

## Dashboard

Request for a dashboard from the Product Analytics team: https://gitlab.com/gitlab-data/product-analytics/-/issues/539

Story points: 2.0