[FIXED JENKINS-16846] fix logic and add test

FilePath#moveAllChildrenTo faild,
when same name directory exist.

change Void to void, recursive_invoke is internal helper function.

thanks review by jglick