Support for moving/copying folders between storages

Backend fix for #3344, still need to investigate what's wrong with the ajax component. 

I moved isIgnoredDir() to Filesystem, because it was also necessary for recursive copying of folders.

@icewind1991 @schiesbn