Fix EZP-21952: user anonymous cannot be redefined

This PR resolves issue https://jira.ez.no/browse/EZP-21952

This adds possibility to configure custom anonymous users.
Since setting anonymous user to the repository can be done in layers above PAPI, `UserService::loadAnonymousUser()` is deprecated in favour of using `UserService::loadUser( $anonymousUserId )`.

Regarding other settings ATM hardcoded in UserService:

1. defaultUserPlacement - API methods already have placement parameter
2. userClassID - UserCreateStruct extends ContentCreateStruct where ContentType can be set
3. userGroupClassID - UserGroupCreateStruct extends ContentCreateStruct where ContentType can be set
4. hashType and siteName - maybe these could be part of the struct

## TODOs
- [x] add BC note
- [x] ~~update configuration in community repo~~
- [x] investigate access to restricted section (weird things happen here)
- [x] ~~loading default anonymous user by id: replace with loading by user name / remove this behaviour completely~~