Multiple emails can be sent out for single logical action

It's possible for one logical action to happen partially before an activity collection and partially after the collection, causing more than 1 email to be sent. For example, I ran into a scenario where a number of files were uploaded at the same time and I received 2 different emails for this.

We should find a way in which this can be avoided. Ideas include not collecting when an activity has taken place in the last minute or automatically scheduling an activity to be collected during the collection after the next one.

Doing something here might also make the email aggregation more effective.
They won't be lost, they will just not aggregate with activities of the same type that happen later.

For example:
```
The mail collector runs every 15 minutes (13:00, 13:15, 13:30, 13:45, ...)

13:07 - "Simon" shares a file with "Nico" which triggers an email for Nico
13:15 - The mail collector runs
13:15:00:01ms - The activities from the email stream are retrieved
13:15:00:34ms - "Simon" posts a comment on a file that "Nico" manages, an activity gets delivered to "Nico"s email stream
13:15:00:55ms - The activity streams for which we're going to send out emails their aggregation is reset
13:15:00:76ms - "Nico" is removed from the email bucket
```

In this scenario, Nico would've received an email containing the share activity. He will *NOT* get an email in the next cycle. Another (third) email-worthy activity needs to happen so that the user "Nico" gets put in the email bucket. When the email collector runs it will pick up the content-comment activity and the third activity. If this third activity is also a comment-content activity that could potentially aggregate with the other one .. it won't, as that stream has been reset.

I didn't think it was worth putting lots of extra code in place just for this scenario as it's
a/ fairly unlikely
b/ nothing gets lost
c/ not that bad of a user experience