Added GearmannExecuteWorkEvent

This event will be executed on each iteration of work by GearmanExecute.
The event includes the following information:

- The configurations for each job when ::runJob is called.
- Same for the remaining iterations, this decreases with the iterations on each event.
- The return code of the last work.

Changes:
* added GearmanExecuteWorkEvent class
* added ::setEventDispatcher to GearmanExecute
* added DI call on GearmanExecute to populate event dispatcher
* added gearman.execute.work constant to GearmanEvents
* dispatched gearman.execute.work from GearmanExecute

Tested locally without issue.
Hopefully BC is maintained, aside from the dependency on EventDispatcherInterface, this feature
can be made optional by checking if the dispatcher is null before attempting to call,
looking for second opinion.
Updated documentation of GearmanExecuteWorkEvent
Fixed issues with GearmanWorkExecutedEvent feature

* Changed GearmanExecuteWorkEvent to GearmanWorkExecutedEvent.
* Fixed doc blocks on event class.
* Fixed documentation number of methods reference.
* Fixed missing constant on GearmanEvents.
* Made $eventListener property protected.
* Updated documentation with example of when you would use this event.
Deleted event class accidently left after rename
Merge pull request #118 from orolin/worker_events

Added GearmanExecuteWorkEvent