Do not read entire charm into memory when downloading

Fixes: https://bugs.launchpad.net/bugs/1386405

Do not pull entire charm into memory when downloading.
Note for the future: it should be possible to entirely avoid the temporary
file storage here.