The travis build is going to fail here. The question is, what should happen if we try to back up the refs to `refs/original` (or wherever), and it already exists? We could:

* Pretend we're doing `filter-branch -f`, and overwrite them.
* Throw an exception of some sort, though I'd want to do a checking pass first so we don't actually do a rewrite if it's going to fail.
* All of the above, with some way of turning it on.
* A callback for collisions? I only mention it because I've seen it done inside libgit2.