Make sure re-index does not throw away Futures

Also allow the source document ID to be preserved.