Mainly stream support, multi ack, message object

Main purpose here is to use within datax so we can make feed level queries for translations/enumerations etc at the start of a feed or job and then each item only needs to pull the data set out of mongo via these streams. Its just normalization on the fly because each item currently still gets the information out of mongo, but this way its all compacted into as few docs as possible (will usually be 1) so will be MUCH faster (assuming the deserialization doesn't overwhelm) since now it gets thousands of docs per item. Will profile this on QA of course.