Use EmailLog.objects.bulk_create rather than doing a discrete .save() for each log [PD-735]

We still do ~1-2 requests in the event that a compliance email fails, but there's not really a way around that unless we want to stop logging them.

All tests pass.
It would be pretty stupid to receive a batch post with no events, but you should be pleased to know that `.bulk_create([])` correctly does nothing successfully.