Implemented Sample Operation

Now that `OperationInterval` is in, `OperationSample` (see  #74) was kind of straightforward. I also added a unit test against sampling, and allowed for specifying a scheduler used by the sample operation.