Abstract asset methods into own interface class

then impl the read ones as NotImplementedError placeholders on xml modulestore
PLAT-70

@cpennington @doctoryes 
@doctoryes here's the new functionality part