Timeline fix and optional bounds argument added to stack method
Timeline now a context manager that extends Time to push/pop object state
state_push and state_pop now apply to the generators of a Composite
More control over random value generation for RandomDistribution objects

All RandomDistribution numbergen objects are now instances of
TimeDependentValue. By setting the new parameter time_locked to True,
the random values generated can be made conditional on the time value,
the object name and the value of param.random_seed. This allows better
control and reproducibility when working with numbergen objects that
have random state.