Refactor Remote::Retrieval classes;

- Remove Remote::Retrieval:: classes in favour of single Retrieval::Remote class.
- Refactor Refresh and RefreshAll to use new Retrieval interface.
- Remove .fetch from model classes.
- Add .remote to model classes.
- Move resource parameters used to fetch remote resources to Remote classes.
Remove tests which are adding no value.
Refactoring and increasing test coverage.
Merge pull request #19 from gavinlaking/feature/remote_retrieval

Feature/remote retrieval