Rewrite mass-upload with Slick+Enumerators [WIP]

* Add models.FileGroup and models.GroupedFileUploads
* Remove file_group.state; add file_group.completed
* Remove Squeryl FileGroup code; add Slick code
* Use Slick instead of Squeryl for GroupedFileUploads in many places
* Add FileGroupBackend and GroupedFileUploadBackend
* Don't delete files on cancel; add file_group.deleted [refs #85217102]
* Rewrite upload iteratee and fully test it
* Rewrite upload body parser and fully test it

There's more work to do on the body parser and iteratee: they should be
reusable with CSV upload. Then I can hack away at API methods.

[refs #83712908]

(cherry picked from commit f8fc564b3676a999ebeb28c5c4e737f8e5607a1a)