Add option to cancel a build

~~this is a rough draft, I'm actively working on it.. so it may throw errors and it may have dirty code.~~

   - Add cancelling and cancelled status for builds
   - Remove pod and update builds to cancelled when a cancel event was triggered for the build
I'm not sure, but `Body()` should be able to accept runtime.Object so the Encode isn't necessary here. (at least this is how it works in upstream)