dm snapshot: split out exception store implementations