documentation and removed redundant 'derive2' idea where I passed in key and value for deriving the new cell.
If someone wants that approach, they can jolly well just do
vect.derive(k => MyCell(k, vect(k).value))
Fixed toValueSet not emitting reshape events after the recent 'initialisation' design change.
Added unit tests for 'by' and 'toValueSet'
If no event source has a non-zero start time, then accept zero as the system start time (may need to watch out for this one - what's really happening is that I'm running a system using the 'event time' as a counter, and nothing to do with clocks, maybe I should specify this in the system setup)