Preload of Plans prevents Auto DevOps image build

### Problem

The application preloads the plans during the initialization phase.  This phase is run during `pre-compile assets` when building an image for Auto DevOps.  Unfortunately, when the image is being built there is no environment. The image hasn't been deployed to production, staging, or a review app yet.  This causes the build to fail.

The specific piece of code causing the failure is this: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/config/application.rb#L65
```ruby
# Load all the plans from Zuora and initialize Plan model in an instance variable.
# Avoid load in test environment as the call from Zuora is been preloaded via VCR cassette.
config.after_initialize do
  PlansFinder.eager_load unless Rails.env.test?
end
```
The failure happens in the `pre-compile assets` phase.  Here is an example: https://gitlab.com/gitlab-org/customers-gitlab-com/-/jobs/419644471#L830

```
D, [2020-01-29T23:28:23.810172 #2617] DEBUG -- : could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
excluded from capture: DSN not set
rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
```

This is expected at this point because the image is being built for any environment and is not yet deployed to any of them.  Anything which requires a database connection must happen later - outside of the `pre-compile assets` phase. Specifically, the initializers are run during the `pre-compile assets` phase.

### Proposal

[This test commit](https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/525/diffs?diff_id=75038595&start_sha=e163aa1414572313a8deeeb61f326c61c4c09f76) fixes the problem and allows the image to be built and the application to start up.  However, since the plans are no longer pre-loaded, the app throws an error when accessing the login page.

I'm proposing moving this code to a more appropriate place rather than deleting it.  Perhaps it can be run on first use, or at some other time after the application has already started up.

I was unable to find a way to leave it where it is but wrap it in a conditional which would cause it to not run during an image build but run during normal app startup.  If anyone has an idea how to do that, it could be an alternate solution.

### Result

The result should be that no database connections should happen during the `pre-compile assets` phase of the image build.  However, the plans must be loaded when a user connects to the login page.

### Next steps (if any)

The next step is to get some ideas for the best way to do this, and discuss the best one.  At that point, we should create an MR against the default branch to implement that idea, and also test the change in the review branch here: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/525 

### How will we measure success?

If the image can successfully build, deploy, and start up, and the user facing functionality of the application is unchanged (the login page displays without errors), then this change will be successful.

/cc @jameslopez @dawsmith

Story points: 2.0