CreateAccountWorker does not retry when SFDC credentials are wrong

<!-- 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

While checking the logs for https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/4154, we noticed that our [`Salesforce::CreateAccountWorker`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/app/workers/salesforce/create_account_worker.rb) didn't retry the jobs that failed while production was using the outdated credentials.

All the workers enqueued during that window encountered a `Restforce::AuthenticationError: invalid_grant: authentication failure (400)` which made them fail while attempting to create the account object for new customers. 

We have error handling code in [`Salesforce::CreateAccountWorker`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/46edc01d6ac41b279668c10a15f06a4aef6e5edc/app/workers/salesforce/create_account_worker.rb#L25-29) but because the error rescued by the worker (`Salesforce::AccountCreationError`) doesn't match any of the [rescuable codes](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/46edc01d6ac41b279668c10a15f06a4aef6e5edc/lib/errors.rb#L43-50), then it isn't re-raised to be retried later. We only see the error logged and the job is 'done'.

Ideally, these jobs could have been retried by Sidekiq the same way we have retries on opportunity creation so the accounts could be created when the integration user's credentials were updated in production.

**Why does the [`CreateOpportunityWorker`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/c14f55f61a1b7e58962cd046378e3c4f2cb3638d/app/workers/salesforce/create_opportunity_worker.rb) retry these errors?**
 
When there is an error during the `Salesforce::CreateOpportunityObjectsService` execution (in this case the invalid grant) there is a `Salesforce::OpportunityNotCreated` error [raised](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/c14f55f61a1b7e58962cd046378e3c4f2cb3638d/app/services/salesforce/create_opportunity_objects_service.rb#L134). Since [`Errors.rescuable_classes`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/c14f55f61a1b7e58962cd046378e3c4f2cb3638d/lib/errors.rb#L59-61) contains `Salesforce::OpportunityNotCreated`, this error is seen as [retryable](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/c14f55f61a1b7e58962cd046378e3c4f2cb3638d/app/workers/concerns/integration_worker.rb#L23).

On the other hand, the error raised by the `Salesforce::CreateAccountWorker` - [`Salesforce::AccountCreationError`](app/workers/salesforce/create_account_worker.rb) - is not seen as retryable.

### Proposal

<!-- Consult with `@gitlab-com/business-technology/enterprise-apps/zuora-architects` on the ~"Enterprise Applications" team if Zuora business logic is involved. -->

Surface the errors rescued in services like [`CreateSalesforceAccountService`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/46edc01d6ac41b279668c10a15f06a4aef6e5edc/app/services/create_salesforce_account_service.rb#L15) and [`CreateSalesforceAccountWithPlaceholderEmailService`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/46edc01d6ac41b279668c10a15f06a4aef6e5edc/app/services/create_salesforce_account_with_placeholder_email_service.rb) through their response hash. 

If we send the error message of the error rescued along with `success: true|false` we could pass that information as the error message for the [`Salesforce::AccountCreationError`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/46edc01d6ac41b279668c10a15f06a4aef6e5edc/app/workers/salesforce/create_account_worker.rb#L48) in this example. This would give us more insight into the actual error that happened and also allow us to check that message against the list of rescuable codes. 

:pushpin: Even if we didn't want to retry `invalid_grant` issues, we could still use that information when encountering other rescuable  errors inside other services. With the current way we raise the `Salesforce::AccountCreationError` we don't pass any message so it really isn't matching the error codes anyway.

### Result

### Next steps (if any)

### How will we measure success?

Story points: 3.0