Add conditional execution to reactor lifecycle events + fix rspec matchers

[LIFECYCLE EVENTS]
If conditional now executes when job finally executes. eg: publishes :reminder_email, at: :run_at, if: -> { not_already_reminded }

[MATCHERS]
Matchers will work even if other events are firing
You can also fire an event multiple times in the same test

[DOCS]
Updated lifecycle documentation