[RECOVERY] Ensure shards are identical after recovery

Today we don't check if the recovery target has all the
files that we expect there after the recovery. This commit
adds aditional safety to ensure all files are present with the
correct checksums on recovery finalization.

Closes #8723
Add custom index.data_path and index.data_template settings
Pass IndexSettings through nodeEnv.deletShardDirectorySafe
Delete state dir for indices with custom data paths
Duh, need to actually delete the index if I expect it not to exist...