feat: implement nat broker consumer/provider

Acceptance Criteria

  • Producer and Consumer abstract implementation that can be easy reused in multiple services.
  • Manual Ack
  • NATS should use Jet Stream to preserve the messages in the queue.
  • CloudEvents
  • Make the agent able to switch between rest and nats modes.
Edited by Zdravko Iliev