Added ReservoirSample methods and tests
Made it work in a single MR pass instead of two