Add the ability to perform background migrations
What does this MR do?
This MR adds the ability to perform background migrations. See https://gitlab.com/gitlab-org/gitlab-ce/issues/32146 for more information.
Does this MR meet the acceptance criteria?
- 
Changelog entry added, if necessary  - 
Documentation created/updated  - Tests
- 
Added for this feature/bug  
 - 
 - 
Conform by the merge request performance guides  - 
Conform by the style guides  - 
Branch has no merge conflicts with master(if it does - rebase it please) - 
Squashed related commits together  
Edited  by Yorick Peterse