Download script additions

This PR makes two additions to the `tools/download.py` script:
 * Use `choices` argument from ArgumentParser to simplify the code a bit. There's no need to test whether the user supplied a valid option, or print out a list of options, since ArgumentParser can do that for us.
 * Add an option that sets the directory in which files will be saved. I expect this to be used by people like packagers, who wish to download the datasets to be placed in packages. In that case, it's not helpful to place the downloads in the user cache, but rather somewhere visible is more useful.