Reset event result when new job is set
Inject the event manager, do no use EventManagerAware

The EventManagerAware interface removes the possibility to use the
event manager in the constructor. Make it more explicit to depend
on the event manager by marking at as a hard dependency.
Remove the attachment of the logging listener

The listener should be attached at another moment and it is not
the responsibility of the worker itself; will reattach it later
in another place.
Remove unused imports and properties from worker
Attach common strategies via factory

No need for a special listener to attach the common strategies if
the factory can simply add them as well.
Rename "common" to "default"
Type hint on the interface
Set worker as target in the WorkerEvent object

The listeners might want to have access to the worker as its target,
so make sure the target is set into the WorkerEvent class. Update
all tests to inject a worker interface mock for this to pass all tests
again.
Split method signature over multiple lines
Remove ListenerEvents calls

The detachment of listeners is not required, so can be left out.
The attachment of default listeners is now done in the factory,
the only feature removed is the attachment of queue-specific
listeners. This will be added back later.
Rename QUEUE_PROCESS_PRE and QUEUE_PROCESS_POST

The naming BOOTSTRAP/FINISH is more convenient, shorter and suits
better the options listeners can use bootstrap for.
Remove job.pre and job.post by making job processing a listener itself

With the job processing a listener itself at priority 1, you can get
pre and post hooks by alternating the priority.
Fix most of the worker tests with events

Register the max runs strategy so the options are still taken
into account and by default in the setup() all tests are setup
that they quit after one worker cycle.
Merge pull request #1 from juriansluiman/feature/simplified-listeners

Simplify listener flow