Added a DownloadArtifacts method.

Hi again.

I've been thinking some more about the artifacts downloading and figured that there would be three things that most (all?) users would have to do:

 * Convert the artifact url to a local filename.
 * Recursively create subfolders as needed.
 * Move the temporary downloaded file.

So I added a new method that does all that, with optional flattening of the folder structure.