WIP: Docker api error

What does this MR do?

Adds logic to ignore docker API errors that occur at the end of the build.

I'm not 100% sure this solution is adequate, as It may just be hiding the issue rather than addressing it directly. But I hope this will at-least shed some light on the issue.

Why was this MR needed?

I am seeing ERROR: Build failed: API error (404): No such container as described in #1338 (closed) at the end of a build (after the artifacts have been uploaded)

Are there points in the code the reviewer needs to double check?

The use of the b.Done flag. Which is used to try ensure that there are no false positives (i.e. builds that report as passed, but have not fully completed)

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

#1338 (closed)