some observational changes

- a more concurrency safe event pattern (you should cache the handler
becaue if it changes between the check on null and the call this will
get nasty)
- pulled the implementation detail on History and Changes in Aggregate
back into fields
- some small spelling corrections
- made Aggregates.cs a bit more readable (or so I hope)