Provide hooks for mitigating flooding attacks at client layer
Message flooding attacks can be mitigated to some extent at the sync layer (#511), but the client may be in a better position to make decisions such as rate limiting. The sync API should allow clients to express these decisions, for example by limiting the rate at which messages are delivered to the client, shared with contacts, or both.