Add indexUUID to mapping-updated and mapping-refresh events and make sure they are applied to an index with same UUID.

This can go wrong if indices with the same name are repeatably created and deleted.

Also - some minor clean up in ShardStateAction where shard started events could be added twice to the to-be-applied list where the second instance will be ignored.

Closes #3783