Added service_plan create audit event when syncing to the service broker.

[#62604832]
Make formatting test deterministic

We saw that in some cases the warning message printed services and plans
in non-deterministic order, causing tests to fail flakily. We decided to
always make the warning message print services and plans alphabetically.
Add audit event for service plans

includes several refactors of the events repository pattern. Primarily, events for services and plans require that changed be computed prior to saving the model to database. This computation seems to be the responsibility of the events repository, but saving the model itself does not. We created the with_service_event and with_service_plan_event function, which takes a block wherein the model is supposed to be saved.

There is still some debate around how explicit or generic methods in the repository should be. We currently have explicit methods (with_service_plan_event) but they all delegate to a generic helper method.