Adding unit tests to kv/local_kv_test.go

Generalizing gossip network simulation so that it can be used to test gossip networks more broadly

Adding unit tests for kv/dist_kv.go and fix user permission bug caught by the tests