This patch implements a distribution over time defined by segments (start, stop tuples). This has been tested (and in fact revealed a small bug in UniformTime.prob in how the upper bound was applied).
Example realizations for randomly generated segments