Improved message store cache reconciliation

Now that we have appropriate indexes, we can reconcile the message store cache without reading individual messages from Riak.
Aside: We could reduce these four lines to one if ``index_page.next_page()`` returned ``succeed(None)`` when ``has_next_page()`` was false?