Abstract asset methods into own interface class

then impl the read ones as NotImplementedError placeholders on xml modulestore
PLAT-70

@cpennington @doctoryes 
Does this get used?