Bringing newer changes in SimonGoring back up into ropensci

Most changes result from an upstream merge.  Some involve how get_dataset operates and the print methods for `get_download` which now recognizes a single download object as separate from multiple downloads.