Tasklogs

This provides infrastructure and APIs for handling the individual logs created when running tasks.
Might be a good idea to to have a constant at the top of the module for this so if we have to change this in the future we only need to do so in one place (it also prevents the need to rebuild the tuple each time).