Make samplers deterministically seedable
Created by: femtobit
This PR makes the sampler classes seedable so that simulation results are deterministic when a fixed seed is provided. It also extracts the corresponding code to a reusable class, since it was the same for all samplers.