Derive cancel patch bytes once at controller startup
Derive cancel patch bytes once at controller startup

This avoids JSON marshaling the same object every time a PipelineRun is
cancelled, and marshals the object once at startup. If for some reason
marshaling that object fails (which it should never do), the controller
will exit and restart.

Failure to marshal this object should only be caused by a bug in our
code, since the object isn't derived from anything related to user
requests. If we have a bug in our cancel patch generation, we'd rather
find out by having the controller crashloop than find out by having
PipelineRuns be uncancellable, which might be harder to detect.

tektoncd/pipeline,tektoncd/pipeline