RabbitMQ protocol code-generation and machine-readable spec