Corrected hang issues with copy, download, USB clean functions

* Corrected hang issues with the download, copy, and
    USB clean functions.
* Broke the USB Clean function into two pieces:
    - Re-partition the device
    - Install grub and the boot files
* Removed need for the USBThreading::DownLoadISO class - though it's
    still there, just in case. Instead, re-worked the
    USBThreading::ExecuteCommandList:run method to allow for
    commands to be executed via one of two different subprocess
    methods, depending on whether we need the return results. This
    allows for working with the MD5SUM values to verify proper
    download of and ISO file.