Simplified aggregate root constraints and events

Aggregates are no longer stored in RavenDB. Another class is store instead,
EventStream. This makes is possible to model aggregate roots any way desirable.

Fixes #16
Fixes #17
Fixes #18