[refactor] Rename URL repository getter and setter

Make the method names less linked to the underlying implementation.
[refactor] Tweak comment
Add DocumentProvider class

This serves as an intermediary layer between scrapers and the URL repository and provides documents according to pattern identifiers.

The provider relies on a configurable implementation of UrlRepositoryInterface. It defaults on instantiating a JsonUrlRepository if none is provided.
It downloads documents via Guzzle.