add snapshot benchmark
minor cleanup
rename snopshotset -> snapshotgroup; enumerator use reference instead of pointers