[EventDispatcher] Add an interface for the ContainerAwareEventDispatcher

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

Currently if a class depends on the ContainerAwareEventDispatcher it's not possible to replace it by the TraceableEventDispatcher without rewriting the class.
The goal here is not to prevent BC but to prevent the use of this class with an instance of `EventDispatcherInterface` instead of an instance of `ContainerAwareEventDispatcherInterface` (or we could throw a Fatal error late and "randomly" at the runtime)