Emailaggregation

I found a regression in the client side activity aggregation. For example, when uploading a large set of files of which some will take longer to upload than the aggregation timeout in the client-side push API, we can see a lot of repeated activities. When the timeout expires, the aggregated activity is passed to the activity feed. The activity feed correctly renders this. When it then continues uploading, these items are correctly aggregated with the previously uploaded items. When the timeout expires next, the activity (previous aggregate + new items) is handed over to the activity feed.

However, previously, the first aggregated activity would be removed from the activity feed and only the new aggregated activity would be shown. This relied on the infinite scroll plugin removing items with duplicate `data-id` keys. However, the `data-id` on activity items are currently empty, so the first aggregated activity is not being removed correctly. Therefore, a lot of repetition can be seen in the feed.

![screen shot 2014-05-28 at 18 05 40](https://cloud.githubusercontent.com/assets/109850/3227089/e77cb116-f076-11e3-8fc3-3aa7628fce9d.png)
![screen shot 2014-05-28 at 18 05 33](https://cloud.githubusercontent.com/assets/109850/3227079/dc6198f0-f076-11e3-978a-3e06086a015d.png)
![screen shot 2014-05-28 at 18 05 23](https://cloud.githubusercontent.com/assets/109850/3227091/eba28ea0-f076-11e3-8a41-fabba720a879.png)