consistent page rename logic

if some of the pages have to be renamed:
  * store all the rename actions to the struct
  * rename every "should be renamed" page to temporary name
  * rename every temporary name to new name

will fail if there're pages which are not renamed,
but page to be renamed needs this name (will not overwrite)

+ replaced my_die with Carp::confess()