Add bundle writer abstraction
Created by: efritz
Create an abstraction between the bundle manager database and the storage layer. This makes a solid interface that we can use to later abstract out the storage layer if we find something that works better.
This implements the symmetric part of https://github.com/sourcegraph/sourcegraph/pull/10208. This partially implements https://github.com/sourcegraph/sourcegraph/issues/9965.