Bring command handler and aggregate together.

The split in the original starter kit was largely about lifetime, as
command handlers were "forever". However, it's possible to get the
same set of benefits and simpler code by bringing the two together.

By moving command handlers into the aggregate itself, they can now
look directly at the state to uphold invariants, which removes some
of the ceremony. It *does* leave the programmer to keep the handlers
"focused", however. Note that they still yield events.

Various other things get simpler as a result. BDDTest requires only
one generic parameter, as does IHandleCommand - a nice boilerplate
reduction. The ever-uncomfortable Guid? goes away in Aggregate and
also in IEventStore and its implementations, simplifying both by a
good amount.