- Changed the settings to have a result_expiry = 60s, so that I have time to get the status of the task
- Added the resubmit all jobs for the submission
- Changed to task_dict (keep the id of the task there, check if a task reporting its result has been previously registered
- Removed all the tasks_status variables
- Changed the tasks.py
	- all the tasks return the same thing: status, task_id, errors and result
	- split the tasks in 2 categ: idempotent ones (the metadata gathering tasks) and non idempotent - the iRODSTasks
	- apply diff settings on each categ of tasks
	- the GatherMetadata tasks inherit the on_failure method
	- removed - try except block within the tasks - everything goes on the on_failure method
	- all tasks get as parameter file id and submission id
- rewritten the update_file fct so that it does match the logic of the tasks dict
- GET STATUS requests - get the info from the tasks state, but only the messages from the workers actually update the DB
- rewritten the resubmit_tasks - to match the tasks_dict logic
- rewritten each launch job fct - so that it doesn't modify anything in the DB on its own, but rather returns the task id as a result, and the calling fct decides what it needs to be done with it
- reintroduced the submit_jobs() fct - for submitting all the jobs at the submission creation
- made index file an embedded doc of SubmittedFile
- Changed Upload and CalcMD5 tasks - so that they both upload/calcMD5 for both the file and the index file
- Introduced the rollback() fct for the iRODSTasks