Refactor Measurement

Currently, an instance of Measurement is identified by an array of time steps passed to its constructor. However, this should not be the case, since a Measurement instance is actually defined by its underlying measurement function.

To improve the design of the Measurement classes, the time step array should be passed as an argument to methods, rather than to the constructor.