Support batched background migrations that read from one database and write to another

What

We should support capturing queries across multiple databases for a single batched background migration. For example where a BBM needs to read rows from a ci table and insert them into a main table (see Backfill job environments (gitlab-org/gitlab!201868 - closed)).

Why

It's important to understand both read and write performance of BBMs and to provide accurate feedback to MR authors.

/cc @tigerwnz @alexives

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information