add snapshot rpc and change snapshot idgen

try the new github diff:)

1. add snapshot rpc
2. change the snapshot id generator to address spencer's feedback in last pr.

Seems a little overkill to do this for the test. Why not just give it a constant value?