Introduced an index UUID which is added to the index's settings upon creation. Used that UUID to verify old and delayed shard started/failed events are not applied to newer indexes with the same name.

Also, exceptions while processing batched events do not stop the rest of the events from being processed.

Closes #3778