Add MessageIterator for pulling work off a pull queue.

Add a MessageIterator which pulls messages off a specified pull queue in
specified batch amounts. It exposes an iterator to go over the messages and
send out the payload from the messages.

@robertkluin-wf @ericolson-wf @tannermiller-wf