Created EventTemplate for dispatching Events in Unit of Work

Dispatching an Event in a Unit of Work (if one is active) requires boilerplate
code which distracts from the main purpose. This template class takes away that
boilerplating. When a Unit of Work is active, it is automatically used to
dispatch the event. If none is active, the event is sent immediately.
Furthermore, the Template allows for additional metadata to be sent with each
Event.

Issue #AXON-219 Fixed