text: Title: False positive integrity check failures when balanacer is running and moving chunks
  Body: #### Arctic Version
  1.58
  
  #### Arctic Store
  VersionStore, NdarrayStore
  
  
  #### Description of problem and/or code sample that reproduces the issue
  
  We a DataIntegrityException, where the number of expected updated segments (with new parent in their set) is double the number of the segments meant to change. 
  
  Suspicions is that this happens at the balancer runs at this time and segments/document may exist briefly in more than one replica sets as they are being moved. 
  This is even more likely because the spec we use for the update_many query only uses _id:
  [relevant code here](https://github.com/manahl/arctic/blob/v1.58.0/arctic/store/_ndarray_store.py#L368)
  
  This doesn't use the sharding key (symbol) and in effect is broadcasted to all replica set servers.
  
  
  ```
  INFO - return arctic.decorators.mongo_retry(f)(*args, **kwargs)
  [2018-01-31 03:34:18,158]  INFO - File "build/bdist.linux-x86_64/egg/arctic/decorators.py", line 50, in f_retry
  [2018-01-31 03:34:18,158]  INFO - return f(*args, **kwargs)
  [2018-01-31 03:34:18,158]  INFO - File "build/bdist.linux-x86_64/egg/xxxxxxxxxxxxxxx/version_store.py", line 224, in write
  [2018-01-31 03:34:18,159]  INFO - prune_previous_version=prune_previous_version, **kwargs)
  [2018-01-31 03:34:18,159]  INFO - File "build/bdist.linux-x86_64/egg/arctic/decorators.py", line 50, in f_retry
  [2018-01-31 03:34:18,159]  INFO - return f(*args, **kwargs)
  [2018-01-31 03:34:18,159]  INFO - File "build/bdist.linux-x86_64/egg/arctic/store/version_store.py", line 574, in write
  [2018-01-31 03:34:18,159]  INFO - handler.write(self._arctic_lib, version, symbol, data, previous_version, **kwargs)
  [2018-01-31 03:34:18,159]  INFO - File "build/bdist.linux-x86_64/egg/xxxxxxxxxxxxxxxx/_ts_ndarray_store.py", line 130, in write
  [2018-01-31 03:34:18,159]  INFO - super(TimeSeriesNdarrayStore, self).write(mongoose_lib, version, symbol, item, previous_version, **kwargs)
  [2018-01-31 03:34:18,159]  INFO - File "build/bdist.linux-x86_64/egg/arctic/store/_ndarray_store.py", line 414, in write
  [2018-01-31 03:34:18,160]  INFO - self._do_append(collection, version, symbol, item[previous_version['up_to']:], previous_version, dirty_append=True)
  [2018-01-31 03:34:18,160]  INFO - File "build/bdist.linux-x86_64/egg/arctic/store/_ndarray_store.py", line 315, in _do_append
  [2018-01-31 03:34:18,160]  INFO - self._concat_and_rewrite(collection, version, symbol, item, previous_version)
  [2018-01-31 03:34:18,160]  INFO - File "build/bdist.linux-x86_64/egg/arctic/store/_ndarray_store.py", line 372, in _concat_and_rewrite
  [2018-01-31 03:34:18,160]  INFO - len(unchanged_segment_ids)
  [2018-01-31 03:34:18,160]  INFO - DataIntegrityException: Symbol: GETF_median_volume_20d:97 update_many updated 2 segments instead of 1
  ```