CodeRepository processes remotes properly.
TBD: add 2 tests to cover this situation (set-url, remote added)
TBD: simplify CodeRepository (it fails on phpmd now) - all "atomic" functionality like "remotes" parsing - can be moved outside of CodeRepository class to "some helpers".
CodeRepository remotes configuration fully covered by tests.
Merge remote-tracking branch 'origin/master' into git_remotes_processing

Conflicts:
	TODO.md
Logger removed from __construct params in CodeRepository.
GitWrapper and Filesystem removed from CodeRepository constructor params, because:
GitWrapper could be instantiated internally
Filesystem should be never injected because it's just helper class.
"Cache" functionality moved from CodeRepository to PreCachedCodeRepository (to simplify responsibilities of CodeRepository class)
Small correction in PreCacheCodeRepositoryTest
getCurrentRoutes() method in CodeRepository rewritten (to make it simple)
CodeRepository refinements.