Use custom service for downloads instead of DownloadManager

-Execute query and load downloaded files tasks on thread pool executor thread
-Show icons for all file types in download list
-factor download task into its own class so it can be shared by the service and the download activity