A British D-Day veteran who survived the famous landings and a catastrophic assault on his naval ship has died at the age of 100.