Change main method to use 'completion' instead of 'block'. Add tests for Rdio service. Add requiredKeys method to base service class. Improve robustness all around