Reset working tree to start tag on abort

Along with a few other minor changes, this commit will reset the
index and working tree to the commit pointed to at the start tag.