Pass image bytes directly into message queue

Pave the way for image preprocessing like stroke width transform: http://answers.opencv.org/question/18101/java-opencv-tesseract-ocr-code-regocnition/?answer=35462#post-id-35462
use better names for exchange and queue
Refactoring to make it easier for preprocessing queue
Add preprocessor chain to ocr req json
add preprocessor that doesn't do much
add preprocessor queue and it fixed issues I was seeing
 just use the routing key as the queue name, since there's no reason to have a different name
add code to do actual stroke width transform
generic interface for preprocessor
do some data validation on preprocessor name
preprocessor arguments