Block on Kafka Producer to detect errors
To make sure we don't silently discard errors, block on Kafka producer until we acknowledge the send. Handle and log any errors. The alternative would be to use a callback with a logging handler (as we'll do with Evidence Logging in event-data-common), but it's more important to block in this situation (low-throughput, large messages).