[DX] Ability to authentication a User directly

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #11158
| License       | MIT

Simple usage example:

```php
class LoginController extends ContainerAware
{
    public function loginAction()
    {
        $user = new User('norzechowicz', 'password123');
        $this->container->get('security.login_manager')->loginUser('firewall_name', $user);

        return new Response();
    }
}
```
The whole security component currently depends on the Request(Stack). I don't think this will really matters for now, perhaps for future usage. But what if I want to login from a command? I'd have to fake a Request.