added File.copy

Use case: when a file, e.g. from an ExternalTask lives
on a read-only filesystem, you cannot `move` it.

One unittest included.
Merge pull request #158 from miku/feature/filecopy

added File.copy