Refactor copy: `src` can be file _or_ directory

`__copy__`'s `srcdir` parameter is renamed to `src` and can be either a
file or a directory; now in-line with the original behaviour.