Add configuration options for kubernetss resource requests

What does this MR do?

Adds configuration options for container resource requirements (http://kubernetes.io/docs/user-guide/compute-resources/) similar to how resource limits are implemented.

Why was this MR needed?

Setting resource limits will throttle builds, even if the node running the build pod has free resources. With resource requests one can tell the kubernetes scheduler the minimum requirements for a container/pod without actually limiting it's resource consumption (i.e. faster builds when node/cluster is idle).

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

I've prefixed the currently used options for limits (cpus, memory) with "limits_" to help distinguish limits and requests. This is a breaking change so maybe a more clever solution is needed. I'm happy to update docs when we're sure about the option names.

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?

Closes #2019 (closed)