Error management 1.4.0

Several changes to improve the reliability of river-rabbitmq, based on the excellent work of zauberlabs.  This branch won't merge cleanly because it's based on 1.4.0, but nevertheless I thought you might find it interesting.  It adds:

* Shunting of failed documents to a separate queue in elasticsearch for manual recovery.
* Exponential backoff and retry to decrease the likelihood of failure.

Tested against 0.90.1.