This lets guillotine apps migrate between two adapters.
Reads come from the new adapter first. Otherwise, they come from the old adapter and get written to the new adapter.
Writes go to the old adapter first, and then are passed to the new adapter. If the new adapter write fails, the write will be re-attempted on the next read.
Deletes are written to the new adapter first, and then the old adapter.
This lets guillotine apps migrate between two adapters.