Add stream event publishing timeout

Add timeout configuration for publishing stream events.

Also use StreamEventPublisherModule to bind StreamEventPublisher.

Bug: Issue 14907
Change-Id: I0f452eec502589a2ec18a748d72eb14cf8304b15
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 7eedc6a..e217994 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -70,6 +70,10 @@
 :   Name of the topic to use for publishing cache eviction events
     Defaults to GERRIT.EVENT.PROJECT.LIST
 
+```broker.streamEventPublishTimeoutMs```
+:   The timeout in milliseconds for publishing stream events.
+    Defaults to 30000 (30 seconds).
+
 ```ref-database.enabled```
 :   Enable the use of a shared ref-database
     Defaults: true