key.Destination is an interface that describes where a query should be
executed. It can be a shard, a list of shards, a keyrange, a list of
keyrange, a keyspace id, a list of keyspace ids, any shard, or all
shards.
Using it in the resolver, everywhere but V3.
For V3, we should replace vindex.KsidOrRange and vindex.Ksids with
Destinations, so it's a more far-reaching change.
Also moving all the related tests to their new location. And removing
old now unused code.
Signed-off-by: Alain Jobart <alainjobart@google.com>