[WIP] Reconnect strategy looping through the hosts array

The current multi host support only picks a host when the Bunny object is instantiated and sticks to it. This new strategy loops through the shuffled hosts array and tries each one in turn.

Only when all the hosts fail to connect it goes to the default reconnect strategy or just raises depending on the reconnect strategy chosen by the user.

This is a work in progress, I'll add the specs tomorrow. Any feedback would be greatly appreciated.

CC @woutslakhorst
This feature was never part of a release, so we don't have to emit this warning. I'm not entirely sure if "host shuffle strategy" is more descriptive than "selection strategy" but also don't find it to be very important. Both are fairly descriptive about what they do.