moved logic for the session listeners into the HttpKernel component

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

When working on Silex, I realize that even if we are not using the same container, the logic of the session listeners were the same. So, this PR moves the listeners to HttpKernel to make them reusable outside of the context of the Symfony full-stack framework.