Introduce UserContextTest
Rename Matcher => SiteAccessMatcher
Introduce API to add site matchers to SiteAccessMatcher
Add Typehints to SiteAccessMatcher
Introduce SiteRepository to have an interface to load sites from the database at a later stage.
SiteAccessMatcher => SiteAccessRouter, ParameterMatcher => ParameterResolver
Introduce Site#identifier and differentiate from user readlable Site#name
Add DefaultSite fallback feature
Rename parameters => properties, repositoryName => repository
Explicit groups in Site object