Batch event processing

Takes care of most of my concerns in the Jira thread.
https://directemployersfoundation.atlassian.net/browse/MJ-937

All tests pass.