Changes to how Entities deal with events

When starting to use entities the previous design proved
cumbersome and not quite what was wanted.
Reworked Entity to allow domain logic to exist in the entity
while routing events through the AggregateRoot

It's not there yet but heading in the right direction I think