refactor: Store accepted event metadata structure
Instead of storing a float64 for the timestamp in the timed map,
we now store a AcceptedEvent that tracks:
- Timestamp when the
acceptedevent was received - The last time the server attempted to deliver the mail.
- The number of delivery failure events encountered for this event. If the mail is eventually delivered, we should know how many failures it took.