Scope session[:visited_plan] to Devise session

<!-- 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/

-->

### Problem

Whenever a user navigates to a **new subscription** page to make a purchase (for a subscription, plan or add-on), we [store that url in the session](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/a9a49f5d71154ca43ddf3e7130c853f5ade31d72/app/controllers/subscriptions_controller.rb#L204-206) so we can use it to redirect the customer after they confirm their email. 

This url usually looks like `https://customers.gitlab.com/subscriptions/new?plan_id=0000&transaction=XXXX` but could also be a named one like `https://customers.gitlab.com/buy_pipeline_minutes` or `https://customers.gitlab.com/buy_storage`.

In !1646 we started using this `session[:visited_plan]` value to redirect the user [after signing in](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/f684885c4e146281d8a810977bc88f2db0a61106/app/controllers/application_controller.rb#L173). This ensures that the user goes back to the subscription page they were looking at before being prompted to sign in or register (if they weren't already signed in).

However, this `:visited_plan` value **can stick around after the user has logged out** because it's not in the `devise` namespace. This could result in the user being redirected to a previously visited plan page right after logging in. In a scenario where they come from the *Sign In* page and not from a subscription page, this would not be the expected behavior.

**Example Scenario**
1. User goes to Customer Portal without signing in
1. User clicks on _Buy CI Minutes_
1. User is prompted to connect with Gitlab
1. User is redirected to _Buy more CI minutes_ form
1. They complete the purchase
1. User can now go and manage their subscription
1. User logs out
1. User goes signs in again from the sign in form (`/customers/sign_in`)
1. They are redirected to _Buy more CI minutes_ because the `visited_plan` value is still in the session
1. They *should* have been redirected to manage their subscriptions 

**Notes**

:exclamation: This will happen only if the user signs in *again* before the [session expires](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/f684885c4e146281d8a810977bc88f2db0a61106/config/initializers/session_store.rb#L11). 

:exclamation: If the user logs out and comes back to log in again after that time has passed, they will be redirected to manage their subscriptions.

:exclamation: This is more evident when testing in development or staging where we may need to do something with one test user, visit a plan purchase page and then log in with a different account to do something else. 

### Proposal

Consider scoping `:visited_plan` to the Devise session (`session["devise.visited_plan"]`) so the value gets automatically cleaned up by Devise whenever a new session is created.

### Result

`session["devise.visited_plan"]` is reset with every new session.

### Next steps (if any)

### How will we measure success?

Story points: 2.0