update file handling

- clean up file upload code, using promises and depending on CORS being
enabled on s3
- read file into ArrayBuffer since readAsBinaryString is deprecated
- keep binary file data with fileInfo to get rid of some arguments and
keep everything we need together in IDB
- update SparkMD5 to use ArrayBuffer
- fix IDB file storage code that hadn't been tested
remove obsolete files

- we're using sparkmd5 instead of webtoolkit
- Filestorage api doesn't look to be standardizing anytime soon. IDB it is.