Ensure the destination path exists

Based on the discussion at https://github.com/kmc/kmc/pull/426, we will assume `destination` is a directory for the origin to be copied into, as the method signature implies.
Merge pull request #428 from Zsub/create-dest

Ensure the destination path exists