Add more sampling tests

Using AccumulatorEvalFunc where possible so don't need to implement exec.  The default version is usually fine.  This means that for these UDFs we can generally just test the exec function since it exercises accumulate.

Fixed bug in ReservoirSample's accumulate.  The default accumulate implementation, based on the algebraic methods, doesn't work because it doesn't reset the state of the classes.  I converted the exec() into accumulate.