New "Downloader" to manage external downloads.
Updated tests.
Updated downloader logic and implemented a simple download test.