Process each message in a DB transaction

Change-Id: I87f075f6914e4384d16649ca26e1556ea5f4efc2
Stomp readTimeout actually does anything

Change-Id: I3d2387f0f61a914511461be4ec1b98d1ef0e7479
FR #988 - Allow ThankYou generator to know about all translations

I rewrote the generator to be reusable for additional years...

This now picks up ALL translations available from MediaWiki; I'm
not sure how it handles local variants yet (e.g. if we can do es-ES
and es-MX.)

We are now using the Html2Text contrib code from
https://github.com/mtibben/html2text
commit adbf1a036ec27300450f351f78ff634c79b36df8

Change-Id: Id490ca87fd0caa2b5a646c299d7395624372dd02
(FR #1228) Stupid typo was killing recurring queue consume

We were pulling something like the entire contribution_tracking db,
then converting to an associative array ;)

Change-Id: Ibb4335a0dd5b25daf3a76887d0bd2cf2204b5a2e
API for peeking at head messages in a queue

Change-Id: Id40d52d42a2348c15f0252016d55eeb256082f4a
(FR #1144) Damaged queue navigator

Change-Id: I0aa2465cb945b3a5c13bdb5761a8b36a9b373a55