Messages not acked when bulk request execution throws an exception

When a `BulkRequestBuilder` executes and throws an exception, the exception is swallowed and messages are not acked here: [RabbitmqRiver.java](https://github.com/elasticsearch/elasticsearch-river-rabbitmq/blob/0619e1149eb9b5ffddc48fbb24782aae623f2d58/src/main/java/org/elasticsearch/river/rabbitmq/RabbitmqRiver.java#L389-L391).

When this happens, the messages remain in RabbitMQ in the "unacked" state, and can't be retrieved or removed without deleting the queue. RabbitMQ eventually runs out of memory when these messages pile up.

River should ack messages pertaining to a bulk request that throws an exception, or the Elasticsearch client should return a list of failures instead of throwing an exception. Either way, it doesn't seem like good behaviour for the River to fail to ack messages when it can't deal with them.

A new option `nack_errors` can be set to `false` (default to `true`) to keep the old behavior, meaning that failing messages are never marked as failed.

Closes #47.
Disable java and maven version checking

And fix typo in email html
prepare release elasticsearch-river-rabbitmq-2.0.0
prepare for next development iteration
Create branches according to elasticsearch versions

 We create branches:

 * es-0.90 for elasticsearch 0.90
 * es-1.0 for elasticsearch 1.0
 * es-1.1 for elasticsearch 1.1
 * master for elasticsearch master

 We also check that before releasing we don't have a dependency to an elasticsearch SNAPSHOT version.

 Add links to each version in documentation
Update to elasticsearch 1.2.0

Closes #60.

(cherry picked from commit e55721a)
Throttle RabbitMQ connection in case of error

If you try to declare a queue with wrong settings (for example `durability`), the river creation fails but retry immediately after. It causes a lot of error messages in logs.

We can throttle that and give a delay of 10s before retrying again.

Also, we can add some informations about what is expected by the river as debug level information.

Closes #64.

(cherry picked from commit 3dd1d5b)
Exception when closing channel or connection

When we close the channel or connection for whatever reason (for example when retrying after a communication error), it throws an exception.

Actually, we need to test before closing that the resource is effectively opened.

Closes #65.

(cherry picked from commit 8ccf757)
Refactor integration tests

With this refactoring, it appears that some tests could fail when updating/deleting just indexed documents.

Another issue / commit will try to fix that.

Closes #63.

(cherry picked from commit ded1cff)
Update to RabbitMQ client 3.3.4

Closes #59.

(cherry picked from commit 5f86baf)
Provide documentation for running tests

Closes #56.

(cherry picked from commit a2f6961)
Docs: make the welcome page more obvious

Closes #70.

(cherry picked from commit 5f786f5)
Allow setting QoS parameters like prefetch size and count

Setting `qos_prefetch_size` will define maximum amount of content (measured in octets) that the server will deliver
(0 if unlimited - default).

Setting `qos_prefetch_count` will define maximum number of messages that the server will deliver (0 if unlimited).
Default to `bulk_size*2`.

Closes #38.
Closes #55.

(cherry picked from commit 90abc51)
Update to elasticsearch 1.3.0

Closes #61.

(cherry picked from commit ad1c3de)
Update to elasticsearch 1.4.0

Still need to fix Groovy scripts. See #71.

Closes #62.

(cherry picked from commit fa8466c)
Fix typo
update documentation with release 2.2.0
update documentation with release 2.3.0
Update to Lucene 4.10.0

Closes #76.