Use AccumulatorEvalFunc instead of interface so no need to implement exec
Fix accumulate for ReservoirSample

The simulated accumulate in AlgebraicEvalFunc doesn't work in this case.  Added test cases for exec and accumulate.
Add weightedSampleLimitExecTest
Add sampleByKeyExecTest
Add reservoirSampleAlgebraicTest
Merge MD5 and MD5Base64 into single implementation
Merge pull request #52 from matthayes/master

Add more sampling tests