Update to Elasticsearch 0.90.0
Closes #21.
RabbitMQ River : does not reconnect after RabbitMQ restart
Closes #16.
Closes #20.
Add highlighting for code samples
Fix missing bracket in test case.
Thanks to @sebaes !
Allow disabling exchange or queue declaration
You can disable exchange or queue declaration by setting
`exchange_declare` or `queue_declare` to `false` (`true` by default).
Closes #19.
Update to amqp-client 3.1.0
Closes #22.
prepare release elasticsearch-river-rabbitmq-1.5.0
prepare for next development iteration
Wrap exchangeDeclare with conditional rather than queueBind
Closes #23.
Add config key to bind (or not) the queue
Closes #24
Bulk scripting support to RabbitMQ river
Added bulk scripting support to RabbitMQ river:

```sh
curl -XPUT 'localhost:9200/_river/my_river/_meta' -d '{
    "type" : "rabbitmq",
    "rabbitmq" : { },
    "bulk_script_filter" : {
        "script" : "mock_script",
        "script_lang" : "native"
    }
}'
```
Have a look at [Native (Java) Scripts](http://www.elasticsearch.org/guide/reference/modules/scripting/) documentation for how to declare a script.

Relative to #17.

Closes #18.
Moving log4j properties to xml file in tests
### Doc per doc scripting

You may also want to apply scripts document per document. It will only works for index or create operations.

To enable scripting use the following configuration options:

```sh
curl -XPUT 'localhost:9200/_river/my_river/_meta' -d '{
    "type" : "rabbitmq",
    "rabbitmq" : {
        ...
    },
    "index" : {
        ...
    },
    "script_filter" : {
        "script" : "ctx.type1.field1 += param1",
        "script_lang" : "mvel",
        "script_params" : {
          "param1" : 1
        }
    }
}'
```

* `script` is your javascript code if you use `mvel` scripts.
* `script_lang` is by default `mvel`.
* `script_params` are optional configuration arguments for the script.

The script will receive a variable called `ctx` which contains a String representation of the current document
meant to be indexed or created.

For more information see [Scripting module](http://www.elasticsearch.org/guide/reference/modules/scripting/)
Closes #26.
Assert failure in bulk message parsing not caught
The RabbitmqRiver class has a try/catch around the parsing of the task's body into a BulkRequest. If this request is malformed, then the BulkRequest.add() method could fail with an assertion failure. This is not caught by the Exception.

Changing this to a catch(Throwable) allows the consumer to ack the message and move on to the next one.
Closes #14.
Move to RabbitMQ client 3.1.1
Cleaning also a little pom.xml before release
Closes #27.
prepare release elasticsearch-river-rabbitmq-1.6.0
prepare for next development iteration
Missing endObject() in tests
Full bulk and doc per doc scripting at the same time
Closes #28.
Expose heartbeat option
We can easily expose `heartbeat` option with default value to `30m`.

```sh
curl -XPUT 'localhost:9200/_river/my_river/_meta' -d '{
    "type" : "rabbitmq",
    "rabbitmq" : {
        // Skipped other values
        "heartbeat" : "30m"
    }
}'
```

Closes #29.