Download will Download a dump of BHL metadata using provided URL to a
local file. It's efficient because it will write as it downloads and not
load the whole file into memory. We pass an io.TeeReader into Copy() to
report progress on the Download.
Extract will extract files from a BHL data dump file into a directory.
If rebuild is true, it will overwrite existing files, if false it will
skip existing files.