bof file upload, multithreaded operations

-bof files can be uploaded to solo-boot devices using upload_bof in the client
-there's a multi-threaded helper in threaded.py - any function performed on multiple devices can be multithreaded easily to save time.
Support functions in their own file.