Added storage manager

The storage manager uses the segment list and persistent counters to provide an abstraction for a
single queue datastructure that spans multiple segments.  This structure is durable and can recover
from a crash, with some loss of just written data that had not yet been confirmed as synced.