Add support for URL based volumes.

If the API looks ok, I will add it to the other API files.

thanks
--brendan
What's the rationale for putting the downloaded file into the volume even if it can't be extracted properly? Is there any kind of error surfaced to the container or via the API in this case? It seems like a very bad user experience.