recursive mode of copyFilesFromDirectory did not copy directories if they already exist on the destination

originally reported by @gavineadie
some better stream closing
fix javadoc typos