Laid groundwork for multithreading

All downloading will now be handled in Downloader.java