Reservoir

Add pure version of `random.shuffle` and add basic reservoir sampling data structure.

Ping @eriknw