Builds upon page clone work. Takes permissions into account to decide if child pages should be copied.
Fundemental refactor for planned additional clone operations. No behaviour change intended in this commit.