The event test factory uses a closure to return only every other record.
This was previously working based on ID but MSSQL starts from an even
number rather than an odd number.
This change changes that to use a static variable which keeps a count of
the records instead and only returns every other record in this fashion,
removing the dependance upon ID.
Some unit tests needed to be updated to specify a few extra
bits and pieces on the events to work properly with the
new event vault behaviour.
Part of MDL-55611 epic.