Add batched merge (rollup) feature

Currently it works as follows:

1. Mark commits to be merged together as `rollup`. (e.g. `r+ rollup`)
 These commits will have an implicit priority of -1 to postpone the individual merge.
2. If one of the marked commits reaches the top of the queue, all the marked commits will be merged and tested.
3. While merging commits, those commits that fail to merge are ignored.

Typical usage:

1. Set `r+ rollup` to the first commit
2. Set `r+ rollup` to the second commit
3. Set `r+ rollup p=10` to the last commit

Fixes #34.