bug fix: snapshot use its own ReadOptions
add boltdb snapshot support