Created a new factory for repositories

Created a new factory for repositories, so that there is one
call to be able to get configured repository. This will allow
us to start using other repositories potentially.
Updated URLs in tests
Refactor to allow decorators

This refactor created a few base decorator classes, so that other
users of tuque can decorate the base tuque classes.