Better handling PRs with dependencies

This might become an RFC.

In Mir we reasonably often have a situation where, in order to get some feature work done, we must first do a bunch of other, semi-related feature work first. To make reviewing (and later bisecting) easier, we tend to make these a bunch of different branches and have PRs with the base-branch set like so:

master -> A -> B -> C -> …

This works OK, except that if you have bors set to delete merged branches then after A is bors-ed and merged into master the base-branch of B is deleted, which irrecovably closes the B->A PR.

It would be nice if (and it seems that GitHub exposes enough API to) bors would merge A, change the base branch of B to master, and then delete A.

As an extra bit of ergonomics, it would be even better if bors r+ on the dependent branches would be deferred until the base branch was master - so given the PR stack A -> B -> C -> D you could review B and have A -> B (bors r+) -> C -> D and it would wait there until A was merged, then it would also merge B.