shardedkv: migration shards should have their own storage list

This patch splits the migration shards into their own string->Storage
map, which can be assigned to separately with BeginMigrationWithShards.

Fixes #1
choosers: use siphash for benchmarking instead of spooky
shardedkv: use chash for testing

Keeping the package aliases to make it easier to swap out backends
during manual testing.