Task file upload module

Moved the task file association from tasks to task_responses. Abstracted to the code out to it's own task module.
> Yeah, I wondered if some of this could/should be abstracted to elsewhere. I haven't found that sweet spot yet. A few things here are at play. First, they are all wrapped in a database transaction, so if anything fails we don't end up with orphaned data. Second, the REST action for this is to update/submit the Task, so it starts at a task level and then does a "save" on the task, which saves everything in that transaction. Another challenge is that we're going to have to deal with returning errors back to the users soon and it seems like it might be easier to collect these errors with the update logic in one place. With that said, the file upload is actually being sent to the TaskFile class for saving and then being added to the response as an attached file.

Hmm, hadn't thought about the transactional nature of the overall task vs the task sections.  I'm thinking that each taskSection can be it's own transaction and it doesn't have to be tied to the "Next" button at the task level.  E.g. if there are 3 task sections and you complete the interaction for the first 2 and then leave the page, you would expect your work to be saved without needing to hit next.  I'm cool with this for now and we can revisit as we get real content and actually start using it.