Initial version of the new RabbitMQ plugin version

This version uses different clients on different Ruby
implementations:

 * Bunny [1] 0.9 on MRI (CRuby)
 * HotBunnies [2] on JRuby

This eliminates a few limitations of the existing plugin,
based on Bunny 0.8:

 * Payload of large size [< than client machine's available RAM] now
   can be published without issues
 * Both are fully capable, well maintained clients that open the door
   to using more recent RabbitMQ features
 * Both Bunny 0.9 and especially HotBunnies offer double or triple (!) digits
   throughput improvements for event publishing
 * Bunny 0.9 offers automatic connection recovery as an option

The choice of Hot Bunnies on JRuby is primarily drive by Bunny triggering
a JRuby-specific issue with high CPU consumption by `IO#select` implementation.
In addition, it is based on an officially supported RabbitMQ Java client
and offers the best possible throughput of all Ruby clients/engines,
matching the Java client.

This version fully fleshed out yet, needs more work, automated
tests and network failure recovery QA.

1. http://rubybunny.info
2. http://hotbunnies.info
Correct HotBunnies connection code
[rabbitmq] Bump default prefetch level to 64

This lets RabbitMQ keep pushing messages to us
without constantly having to wait for the next
ack to arrive.

See http://rubybunny.info/articles/queues.html#message_acknowledgements
for more information about manual acknowledgements
and QoS (prefetch).
typo
[rabbitmq] Finish RabbitMQ input implementation for CRuby

This will manually reconnect and initialize the plugin
on a network failure instead of using Bunny's automatic
recovery feature.

It is sufficient and keeps the recovery logic (e.g.
reconnection period) in the plugin.
[rabbitmq] Manually shut down consumer work pool when handling network failures
Use HotBunnies 2.0.0.pre5+
[rabbitmq] Depend on HotBunnies 2.0.0.pre7+
[rabbitmq] HotBunnies input is done, including error handling & recovery
Spam
[rabbitmq] Refactor Bunny input impl to be similar to HotBunnies
No need for CGI any more
[rabbitmq] Rearrange RabbitMQ input configuration attributes

Exchange and routing key make little sense in an input (which
is concerned with how to consume messages). As a result, they
will likely only cause confusion.

For backwards compatibility, they're made optional now.

Attributes were regrouped to reflect which of them are
related to the queue and which are connection attributes.

Finally, extra queue arguments (such as x-ha-policy) are
now used again.
[rabbitmq] Doc edits
[rabbitmq] Initial version of the RabbitMQ output for MRI
[rabbitmq] No longer unmaintained
[rabbitmq] Initial version of the HotBunnies-based output
[rabbitmq] use @key here
[rabbitmq] use milestone 1 for now
Minor corrections