Re-raise async exceptions to cause a build failure

If an exception is caught while uploading the build context it is logged but not re-raised. Because the upload happens in another thread, we need to capture this in the main thread and re-raise.
Add better exception handling.

Catch exceptions in subtasks and allow others to continue.
Merge pull request #14 from duedil-ltd/fix/exception-handling

Add better exception handling.
PEP8
Pass the task_id through as an argument
Terminate the driver and correctly update state

If the task fails we need to adjust the state to ensure the failure is tracked, and since no mesos status update is sent we can kill the driver here too
No need to re-raise if we're already logging out the exception
Merge pull request #13 from duedil-ltd/feature/raise-async-exceptions

Re-raise async exceptions to cause a build failure