Plugins: Installation failed when directories are on different file systems

Plugin installation failed when bin/, conf/ and plugins/ directories are on different file systems. The method File.move() can't be used to move a non-empty directory between different file systems.

I didn't find a simple way to unittest that, even with in-memory filesystems like jimfs or with the Lucene test framework.

Closes #8999
can we call this `move` and maybe just delegate to `Files.move` without throwing the exception? no need for the caller to know that the source is a directory?