Implemented swift downloading using worker threads.
* added 'downloading' column to the metadata database schema
* added a number of TODOs, mostly these are to do with detecting error conditions