added rwlock to ShardingState #797

Modification operations take the shared lock, anything that modifies the
chunk version (setShardVersion, migrations, etc) takes the exclusive
lock.