TargetedEventInterface should should also ensure the EventInterface is fulfilled.
TargetedEvent now ensures the interface is implemented.

PHP does not allow traits to implement interfaces.
Adding EventTrait, containing an implementation of EventInterface.

Event class updated to utilise this new trait.
Merge pull request #6 from nick-jones/fix.targeted.events

Moving TargetedEventInterface implementation from trait into TargetedEvent class