Add event creation library and implement in scheduler.

Is it necessary to introduce this new public interface just to do unit testing in `pkg/client/record/event_test.go`?  See comments in that test.