Patch Mouse to pass the original value to a trigger.

Moose 2.0801 docs say...

           trigger => $code
               The trigger option is a CODE reference which will be called
               after the value of the attribute is set. The CODE ref is passed
               the instance itself, the updated value, and the original value
               if the attribute was already set.

Mouse doesn't pass in the original value.  I've patched our copy and I'll get
it patched upstream.

This will be handle for triggering changes to event storage when
$history->store_events is flipped.
Allow event storage to be turned on and off in the middle of a test.

This makes it much easier for test authors to turn event storage on
and off, otherwise it has to be done before anyone issues an event.

Updated the docs to make it clearer this is done at their own risk,
that events may be lost, and to encourge the statistical methods.
Document how to turn details() and summary() on more clearly.
Expand a bit on the utility of the history object.
Merge branch 'Test-Builder1.5' into history/store_events_switch

Conflicts:
	lib/TB2/Mouse.pm

TB2::Mouse already has our patch.
Don't send the event_storage_class as part of TB2::History->as_hash
Make the test fail if the fork dies.
Reset event_storage when the event_storage_class changes.

This is a good idea on its own.  It also ensures TB2::History::NoEventStorage
gets loaded after a fork.
Merge pull request #370 from schwern/history/store_events_switch

Allow store_events to be switched on/off after events have been seen