Kubernetes pre-build container

This MR builds on top of !338 (closed) after !420 (merged) has been merged.

Currently the default image is hardcoded to be x86_64, but can be overridden through runner config if running on ARM. We should later add some form of detection to this, or more likely, a runner config parameter specifying architecture. It won't be possible to detect the architecture of the node before hand as the build pod won't be scheduled until after the Pod type is created (a chicken-egg situation).

Hopeful this can be merged in for the 1.9 release today, but might be a bit late!

@jayme-github @tmaczukin @ayufan @nick.thomas

What does this MR do?

Why was this MR needed?

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

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?