refactor: get single message in storage

This patch reapplies a262a65 by separating `bulk_get` from
the old `get` routine and back-ports changes afterwards.

Change-Id: I0018f17e959479d30252165f04d98357c93c54cf
Merge "refactor: get single message in storage"