Abstract BlockStore

Add an abstract block store layer to make it easier to change the
underlying database implementation