database: make sure sstable is also forwarded to shard responsible for its generation
database: make sure sstable is also forwarded to shard responsible for its generation

After f59f423f3c4703b0eefc77acd3412af99bde5f16, sstable is loaded only at shards
that own it so as to reduce the sstable load overhead.

The problem is that a sstable may no longer be forwarded to a shard that needs to
be aware of its existence which would result in that sstable generation being
reallocated for a write request.
That would result in a failure as follow:
"SSTable write failed due to existence of TOC file for generation..."

This can be fixed by forwarding any sstable at load to all its owner shards
*and* the shard responsible for its generation, which is determined as follow:
s = generation % smp::count

Fixes #3273.

Signed-off-by: Raphael S. Carvalho <1e2942cea40e3b4d2162dfcd9e53e41c05a84d22@scylladb.com>
Message-Id: <20180405035245.30194-1-1e2942cea40e3b4d2162dfcd9e53e41c05a84d22@scylladb.com>

scylladb/scylla,avikivity/scylla,avikivity/scylla,scylladb/scylla,duarten/scylla,scylladb/scylla,duarten/scylla,scylladb/scylla,duarten/scylla,avikivity/scylla