Custom authentication extends need only return UserProviderInterface implementations.
Make it easier to extend the Request class.
Merge branch '4.0'