Implement rewind backend

Use Repo#rewind to create a new branch at a commit in history and switch to it!