Refactor build API and controller

Refactor the build API and validation. Refactor the build controller
to use the upstream cache package where possible. Use watches wherever
possible.
@smarterclayton Would something like cadvisor help here? We really need the pod status to stay in sync with their container states to avoid polling here and in the CustomPod controller for deployments.