refactoring last fm service. adding repositories (implemented as template methods) to remove duplication from service object for library portion of API.