[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
[JENKINS-16846]

This is a much simpler fix
Merge branch 'pull-714'
[FIXED JENKINS-16846]