Use symfony dispatcher instead of doctrine one

Using doctrine event manager to dispatch domain events prevents domain
event listeners to depend on doctrine (circular reference). Plus, it
doesn't make much more sense to dispatch domain events through a storage
layer dispatcher.

This commit allows to dispatch domain events through an
event_dispatcher (it uses the symfony event dispatcher by default).