Implementing rename()

Hey, maybe I should have told you, but I also wanted to implement rename and waited for you to pick the previous pull request.