Prefer io.Copy to needless allocation

When a charm has large files in it, reading the entire file into memory
is wasteful. When processing many charms it can cause GC problems.