[WIP] Support multiple RabbitMQ brokers

WIP.

This change is backwards compatible and continues to support string configuration.

The Sensu RabbitMQ transport shuffles the provided broker connection options, attempting to connect to each of them, one at a time, in the event of an initial TCP connection failure or reconnect. If Sensu fails to make an initial connection to all of the brokers, the 20 second initial connection timeout will call the `on_error` callback.

```
{
    "rabbitmq": [
        {
            "host": "8.8.8.8"
        },
        {
            "host": "4.4.4.4"
        },
        "amqp://guest:guest@2.2.2.2:5671/sensu"
    ]
}
```